ROR Software

20 Years of Ruby

20 Years of Ruby (https://blog.jetbrains.com/ruby/2015/12/20-years-of-ruby/)
As hard to believe as it is, 20 years ago the first public version of Ruby saw the light of day. Ruby 0.95 was announced by Yukihiro Matsumoto, now widely known as Matz. Over these 20 years a lot of developers have discovered Ruby and fell in love with it, including us at JetBrains. Hopefully there are many more younger people who will do the same one day. Hurray to the whole Ruby community who has helped make this history happen!   More…


logo@2xGit
(https://git-scm.com/)
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.


branching-illustration@2xLearn Git in your browser for free with Try Git
(https://try.github.io/levels/1/challenges/1)


Download Git at https://git-scm.com/download/win
The latest release is 2.6.0.  Released 28/9/2015.

Available for MAC OS, Linux, Windows and Solaris.


Documentation (Reference Manual, Book, Videos and External Links)
(https://git-scm.com/doc)


Download GitHub Git Cheat Sheet (PDF 361KB)


Visual Git Cheat Sheet
(http://ndpsoftware.com/git-cheatsheet.html)


progitChacon, S. and Straub, B. (2009) “Pro Git”, 2nd Edition, Apress

Download Chacon, S. and Straub, B. (2009) “Pro Git” (PDF 5,346KB)

Online version at:
https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

See tutorial at http://bedford-computing.co.uk/learning/ruby-on-rails/ror-links-and-resources/


githuboctacatGitHub
(https://github.com/)
GitHub is where people build software. More than 11 million people use GitHub to discover, fork, and contribute to over 27 million projects.
GitHub is a Web-based Git repository hosting service. It offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features. Unlike Git, which is strictly a command-line tool, GitHub provides a Web-based graphical interface and desktop as well as mobile integration. It also provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project.

GitHub offers both plans for private repositories and free accounts,[4] which are usually used to host open-source software projects.  As of 2015, GitHub reports having over 9 million users and over 21.1 million repositories, making it the largest host of source code in the world.


GitHub Training
(https://training.github.com/kit/)


GitHub for Developers
A tour through Git and GitHub concepts for those who use the command line.(https://training.github.com/kit/courses/github-for-developers.html)


GitHub for Everyone
An introduction to GitHub for those who prefer the graphical and web browser clients
(https://training.github.com/kit/courses/github-for-everyone.html)


herokuHeroku
(https://www.heroku.com/)
Heroku is a cloud platform based on a managed container system, with integrated data services and a powerful ecosystem, for deploying and running modern apps.

The Heroku developer experience is an app-centric approach for software delivery, integrated with today’s most popular developer tools and workflows.

Heroku supports Ruby, Java, Python, PHP, Node.js, Clojure, Scala and Play, Go and others

See how it works
(https://www.heroku.com/platform#platform-diagram-detail)


Getting Started with Ruby on Heroku
(https://devcenter.heroku.com/articles/getting-started-with-ruby#introduction)


Set up a Heroku account
(https://signup.heroku.com/dc)


Cloud9
(https://c9.io/)
Your development environment, in the cloud,
Cloud9 combines a powerful online code editor with a full Ubuntu workspace in the cloud.

Powerful Workspaces

Set up your system without any hassle
Simply pick your configuration and develop your app. No need to spend valuable development time on system setup and maintenance. You can create, build and run any development stack in seconds. We maintain it, you control it.

Django WordPress Meteor C or C++ Ruby on Rails Node.js PHP HTML5

All the freedom you’d expect
Workspaces are powered by Docker Ubuntu containers that give you full freedom over your environment, including sudo rights. Do a git push, compile SASS, see server output, and Run apps easily with the built-in Terminal and Runners.

Language tools that make you smarter
Cloud9 supports more than 40 languages, with class A support for PHP, Ruby, Python, JavaScript, Go, and more

This is your Workspace
We maintain it, you control it

Web development was never so easy
Build WordPress, Django and Rails websites and test in 300+ browser/OS combinations.

Fast. Scalable
Easily handle hundreds of thousands of files in your workspace and hundreds of thousands of lines of code in the editor


Nitrous.io
(https://www.nitrous.io/)
Professional developers use Nitrous to create, snapshot and share development environments in the cloud

Consistent Development Environments in the Cloud

Home visual 1 16492ba4f0f9ef18f8b9052e658d70f9f8f9c766d1a8c463d1f97885e4c9b280

With Nitrous, developers can utilize pre-built development environment templates from the Nitrous standard library, or use their companies’ own private templates . This makes it incredibly easy to keep standard templates for a particular client’s project, or to collaborate and share among teams.

Scalable, Compliant Infrastructure

Home visual 2 4478ee362a0c0b795cc66b7ecb53d10813a98349dff36e5d100a3aac6d169922

Nitrous gives you complete control of your workstation and projects. You have root access to each one, and you can interact with them as you would any machine. In addition, Nitrous provides robust controls to maintain security and data protection in the cloud.

 

Isolated and Replicable Projects

Home visual 3 48df98d7c4bbc5401ee8e27b72996967d810c03caf00f4b5430279f36393390d

Start with a fresh Nitrous box every time you begin a new project instead of running into installation and configuration issues from previous projects on your local machine or managed corporate VM. Save your base environment to reuse again, and share it with team members.

 

 

 


PhantomJS (http://phantomjs.org/)
PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.


rubyRuby – A Programmer’s Best Friend
(https://www.ruby-lang.org/en/)

Ruby is a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.


Download Ruby
(https://www.ruby-lang.org/en/downloads/)
Here you can get the latest Ruby distributions in your favourite flavour. The current stable version is 2.2.3.


Try Ruby in your browser
(http://tryruby.org/levels/1/challenges/0)


Ruby in 20 Minutes
(https://www.ruby-lang.org/en/documentation/quickstart/)
This is a small Ruby tutorial that should take no more than 20 minutes to complete. It makes the assumption that you already have Ruby installed.


Ruby From Other Languages
(https://www.ruby-lang.org/en/documentation/ruby-from-other-languages/)When you first look at some Ruby code, it will likely remind you of other programming languages you’ve used. This is on purpose. Much of the syntax is familiar to users of Perl, Python, and Java (among other languages), so if you’ve used those, learning Ruby will be a piece of cake.

This document contains two major sections. The first attempts to be a rapid-fire summary of what you can expect to see when going from language X to Ruby. The second section tackles the major language features and how they might compare to what you’re already familiar with.


Documentation
(https://www.ruby-lang.org/en/documentation/)


Installing Ruby
(https://www.ruby-lang.org/en/documentation/installation/)


IDEs and Editors for Ruby

Ruby Mine (https://www.jetbrains.com/ruby/)
Produce high-quality code more efficiently, thanks to first-class support for Ruby and Rails, JavaScript and CoffeeScript, ERB and HAML, CSS, Sass and Less and more.  Take advantage of language specific-aware syntax and error highlighting, code formatting, code completion, and quick documentation.

Aptana Studio 3 (http://www.aptana.com/)
The world’s most powerful open-source web development IDE just got better. Rebuilt from the ground-up. It’s now much faster, customizable and includes new features to help you be more productive. Build web applications quickly and easily using the industry’s leading web application IDE. Aptana Studio harnesses the flexibility of Eclipse and focuses it into a powerful web development engine.

Vim (http://www.vim.org/index.php)
Vim is a highly configurable text editor built to enable efficient text editing. It is an improved version of the vi editor distributed with most UNIX systems.
Vim is often called a “programmer’s editor,” and so useful for programming that many consider it an entire IDE. It’s not just for programmers, though. Vim is perfect for all kinds of text editing, from composing email to editing configuration files.

Sublime Text 2 (https://www.sublimetext.com)
“Sublime Text is a sophisticated text editor for code, markup and prose. You’ll love the slick user interface, extraordinary features and amazing performance.”

 


Getting Started

Try Ruby!
(http://tryruby.org/levels/1/challenges/)
An interactive tutorial that lets you try out Ruby right in your browser. This 15-minute tutorial is aimed at beginners who want to get a feeling of the language.

See http://bedford-computing.co.uk/learning/ruby-on-rails/ror-links-and-resources/


Ruby Koans
(http://rubykoans.com/)
The Koans walk you along the path to enlightenment in order to learn Ruby. The goal is to learn the Ruby language, syntax, structure, and some common functions and libraries.

See http://bedford-computing.co.uk/learning/ruby-on-rails/ror-links-and-resources/


RubyMonk
(https://rubymonk.com/)
Discover Ruby idioms, learn lessons and solve problems, all in your browser!

See http://bedford-computing.co.uk/learning/ruby-on-rails/ror-links-and-resources/


Hackety Hack
(http://hackety.com/)
The little coder’s starter kit. A fun and easy way to learn about programming (through Ruby) using the Shoes GUI Toolkit.


chunkybaconWhy’s (Poignant) Guide to Ruby
(http://mislav.uniqpath.com/poignant-guide/)

An unconventional but interesting book that will teach you Ruby through stories, wit, and comics. Originally created by why the lucky stiff, this guide remains a classic for Ruby learners.Unlike any other guide to programming you have ever read. It features talking foxes, bizarre sidebars, and more crazy humour than most people can handle without loud chuckles.

Contents ~

        1. About this Book
        2. Kon’nichi wa, Ruby
          1. Opening This Book
          2. The Dog Story
          3. The Red Sun Rises
          4. How Books Start
        3. A Quick (and Hopefully Painless) Ride Through Ruby (with Cartoon Foxes)
          1. Language and I MEAN Language
          2. The Parts of Speech
          3. If I Haven’t Treated You Like a Child Enough Already
          4. An Example to Help You Grow Up
          5. And So, The Quick Trip Came To An Eased, Cushioned Halt
        4. Floating Little Leaves of Code
          1. The Leaf as a Status Symbol in Ambrose
          2. Small and Nearly Worthless
          3. Chaining Delusions Together
          4. The Miracle of Blocks
        5. Them What Make the Rules and Them What Live the Dream
          1. This One’s For the Disenfranchised
          2. A Castle Has Its Computers
          3. The Continued Story of My Daughter’s Organ Instructor
          4. The Goat Wants to Watch a Whole Film
          5. The Theft of the Lottery Captain
          6. Them What Make the Rules
          7. Them What Live the Dream
        6. Downtown
          1. If I Were Looking For a Vehicle
          2. Meanwhile, The Porcupine Stops To Fill-Up
          3. A Sponsored Dragon-Slaying
          4. So, Let’s Be Clear: The Porcupine Is Now To The Sea
          5. Walking, Walking, Walking, Walking and So Forth
          6. Just Stopping To Assure You That the Porcupine Hasn’t Budged
          7. I’m Out
        7. When You Wish Upon a Beard

Ruby in Twenty Minutes
https://www.ruby-lang.org/en/documentation/quickstart/

Introduction
This is a small Ruby tutorial that should take no more than 20 minutes to complete. It makes the assumption that you already have Ruby installed. (If you do not have Ruby on your computer install it before you get started.)

Interactive Ruby
Ruby comes with a program that will show the results of any Ruby statements you feed it. Playing with Ruby code in interactive sessions like this is a terrific way to learn the language.


Ruby from Other Languages
(https://www.ruby-lang.org/en/documentation/ruby-from-other-languages/)
Coming to Ruby from another language? Whether it’s C, C++, Java, Perl, PHP, or Python, this article has you covered!

When you first look at some Ruby code, it will likely remind you of other programming languages you’ve used. This is on purpose. Much of the syntax is familiar to users of Perl, Python, and Java (among other languages), so if you’ve used those, learning Ruby will be a piece of cake.

This document contains two major sections. The first attempts to be a rapid-fire summary of what you can expect to see when going from language X to Ruby. The second section tackles the major language features and how they might compare to what you’re already familiar with.


Learning Ruby
(http://rubylearning.com/)
A thorough collection of Ruby study notes for those who are new to the language and in search of a solid introduction to Ruby’s concepts and constructs.

Speed up your Ruby programming learning process by joining 1000s of other would-be Ruby developers around the globe at the Online RubyLearning Class. Step through the convenient lessons related to ‘Ruby’ and post your Ruby-related queries, questions and the RubyLearning team shall explain and solve them for you.

Core Ruby Programming


Ruby Essentials
(http://www.techotopia.com/index.php/Ruby_Essentials)
Ruby Essentials is a free on-line book designed to provide a concise and easy to follow guide to learning Ruby.

Ruby is a flexible and intuitive object-oriented programming language. From modest beginnings in Japan where it rapidly gained a loyal following, the popularity of Ruby has now spread throughout the programming world.

This surge in popularity can, in no small part, be attributed to the introduction and wide adoption of the Ruby on Rails framework. It is difficult, however, to get the most out of Ruby on Rails without first learning something about programming in Ruby, and this is where Ruby Essentials comes in.

Ruby Essentials is a free on-line book designed to provide a concise and easy to follow guide to learning Ruby. Everything from installing Ruby and the basics of the language through to topics such as arrays, file handling and object-oriented programming are covered, all combined with easy to understand code examples which serve to bridge the gap between theory and practice.

Ruby Essentials is intended to be of equal use both to those experienced in other programming languages and to novices who have chosen Ruby as their “first programming language”.

Contents


Learn to Program, Second EditionLearn to Program
(https://pine.fm/LearnToProgram/)
A wonderful little tutorial by Chris Pine for programming newbies. If you don’t know how to program, start here.

The Original Tutorial

  1. Getting Started
  2. Numbers
  3. Letters
  4. Variables and Assignment
  5. Mixing It Up
  6. More About Methods
  7. Flow Control
  8. Arrays and Iterators
  9. Writing Your Own Methods
  10. Classes
  11. Blocks and Procs
  12. Beyond This Tutorial

See http://bedford-computing.co.uk/learning/ruby-on-rails/ror-links-and-resources/


Learn Ruby the Hard Way
(http://learnrubythehardway.org/)
A very good set of exercises with explanations that guide you from the absolute basics of Ruby all the way to OOP and web development.

See http://bedford-computing.co.uk/learning/ruby-on-rails/ruby-on-rails-books/


Manuals

Programming Ruby
(http://ruby-doc.com/docs/ProgrammingRuby/)
The seminal work on Ruby in English, this first edition of the Pragmatic Programmers’ book is available for free online.

   Ruby User’s Guide

(http://www.rubyist.net/~slagell/ruby/)
Translated from the original Japanese version written by Yukihiro Matsumoto (the creator of Ruby), this version, by Goto Kentaro and Mark Slagell, is a nice overview of many aspects of the Ruby language.

What is ruby?
Getting started
Simple examples
Strings
Regular expressions
Arrays
Back to the simple examples
Control structures
Iterators
Object-oriented thinking
Methods
Classes
Inheritance
Redefinition of methods
Access control
Singleton methods
Modules
Procedure objects
Variables
Global variables
Instance variables
Local variables
Class constants
Exception processing: rescue
Exception processing: ensure
Accessors
Object initialization
Nuts and bolts
About the guide


The Ruby Programming Wikibook
(https://en.wikibooks.org/wiki/Ruby_Programming)
A free online manual with beginner and intermediate content plus a thorough language reference.

Reference Documentation

Ruby Core Reference
(http://ruby-doc.org/core-2.2.3/)
Pulled straight from the source code using RDoc, this reference work documents all of the core classes and modules (like String, Array, Symbol, etc…).
Ruby Standard Library Reference
(http://ruby-doc.org/stdlib-2.2.3/)
Also pulled from the source code using RDoc, this reference work documents the standard library.
RubyDoc.info
(http://www.rubydoc.info/)
The one-stop web site for reference documentation about Ruby gems and GitHub-hosted Ruby projects.
Ruby and Rails Searchable API Docs
(https://rubydocs.org/)
Rails and Ruby documentation with smart searching.
APIdock
(http://apidock.com/)
Ruby, Rails and RSpec documentation with users’ notes.
Omniref: Annotated Ruby, Rails, and Gem Documentation
(https://www.omniref.com/)
Documentation for every version of Ruby, and every version of every RubyGem. A comprehensive reference manual for Ruby, with code search, source annotations, and Q&A features.

Editors and IDEs
For coding in Ruby you can use the default editor of your operating system. By the way, to be more effective in coding, it is worth to choose a source code editor with basic Ruby support (ie. syntax-highlighting, file browsing) or an integrated development environment with advanced features (ie. code completion, refactoring, testing support).

Here is a list of popular tools:

Linux and cross-platform tools:

  • Aptana Studio
  • Emacs with Ruby mode and Rsense
  • Geany
  • gedit
  • Vim with vim-ruby plugin and Rsense
  • RubyMine
  • SciTe
  • NetBeans
  • Sublime Text

Windows:

  • Notepad++
  • E-TextEditor
  • Ruby In Steel

Mac OS X:

  • TextMate
  • TextWrangler
  • Dash (documentation browser)

Ruby-Doc.org: Documenting the Ruby Language
(http://ruby-doc.org/)
Help and documentation for the Ruby programming language.


Getting Started
A collection of resources for those just starting out with Ruby.

Some Ruby 2.x resources

What’s new in Ruby 2.1.0

What is Ruby 2.0.0?


Ruby 2.0.0 by Example
(http://blog.marc-andre.ca/2013/02/23/ruby-2-by-example/)
#Hash – Ruby, Rails and Rants


Programming Ruby
(http://docs.ruby-doc.com/docs/ProgrammingRuby/)
An on-line copy of the first edition of the book Programming Ruby, by Dave Thomas.
This book is a tutorial and reference for the Ruby programming language. Use Ruby, and you’ll write better code, be more productive, and enjoy programming more.

Contents

Foreword
Preface
Roadmap
Ruby.new
Classes, Objects, and Variables
Containers, Blocks, and Iterators
Standard Types
More About Methods
Expressions
Exceptions, Catch, and Throw
Modules
Basic Input and Output
Threads and Processes
When Trouble Strikes
Ruby and Its World
Ruby and the Web
Ruby Tk
Ruby and Microsoft Windows
Extending Ruby
The Ruby Language
Classes and Objects
Locking Ruby in the Safe
Reflection, ObjectSpace, and Distributed Ruby
Built-in Classes and Methods
Standard Library
Object-Oriented Design Libraries
Network and Web Libraries
Microsoft Windows Support
Embedded Documentation
Interactive Ruby Shell
Support

See http://bedford-computing.co.uk/learning/ruby-on-rails/ror-links-and-resources/


10 Minutes to Your First Ruby Application
(http://neurogami.com/content/neurogami-10_minutes_to_your_first_Ruby_app/)
Write a useful Ruby program that demonstrates key language concepts.

There’s no better way to experience the elegance and power of Ruby than to fire up your code editor and start writing Ruby code. Create a small, useful Ruby application, and along the way, you’ll learn what makes the language tick.

So you’ve discovered the grace and power of Ruby and you’re ready to explore the subtle but important ideas behind its elegance. Follow this tutorial to create a small, useful Ruby application. As Ruby is primarily an object-oriented language with classes and objects, you can jump right in and create a class to encapsulate behavior. The instructions begin with a simple version of the application, and then expand it. Along the way, you will learn what makes Ruby tick.
The example application will serve two purposes:

  1. Demonstrate some features of Ruby
  2. Do something useful in the process

A word on the title: Were you to write this code yourself, assuming some moderate Ruby knowledge, it probably wouldn’t take more than 10 minutes. Once you learn how Ruby works and understand what sort of code it enables, you’ll find that you can whip up useful utilities in short order. Of course, a walk-through of such code will take a bit more than 10 minutes if you’re new to the language.


Ruby Best Practices
(http://blog.rubybestpractices.com/posts/gregory/022-rbp-now-open.html

Free on-line book.

Contents



  • Downloads
    Various document sets and translated works, suitable for downloading for local perusal.

 

  • Practicing Ruby
    (https://practicingruby.com/)
    Delightful lessons for dedicated programmers
    A unique journal curated by Gregory Brown
    Welcome to the world’s largest open-access collection of lessons for experienced Ruby developers!
    We provide concentrated doses of programming experience across a wide range of topics.

Our lessons are developed by Gregory Brown, with the help of many contributors. Even though this project is called Practicing Ruby, most of our articles tend to focus on exploring the field of software development in general rather than fixating entirely on language-specific details.

Practicing Ruby’s complete library is freely available to everyone in the world. See our Open Source page for all our code and manuscripts, including the Rails application that runs this website.


 codecademyRuby | Codecademy
(
https://www.codecademy.com/tracks/ruby)
Learn to program in Ruby, a flexible language used to create sites like Codecademy.

See http://bedford-computing.co.uk/learning/ruby-on-rails/ror-links-and-resources/


Ruby_on_Rails_svgRuby on Rails
(http://rubyonrails.org/)
Ruby on Rails is an open-source web framework that’s optimized for programmer happiness and sustainable productivity. It lets you write beautiful code by favouring convention over configuration.

Tens of thousands of Rails applications are already live. People are using Rails in the tiniest part-time operations to the biggest companies.

Rails was created in 2003 by David Heinemeier Hansson and has since been extended by the Rails core team and more than 4,000 contributors.

The latest version is 4.2.0


Download Ruby on Rails
(http://rubyonrails.org/download/)
For example, Windows Installer (Ruby, popular extensions, editor)
Rails is low on dependencies and prides itself on shipping with most everything you need in the box. To get started, just install Ruby, the language, and RubyGems, the package manager


Rails Screencasts
(http://rubyonrails.org/screencasts/)


Documentation
(http://rubyonrails.org/documentation/)


RailsGuides
(http://guides.rubyonrails.org/)
Ruby on Rails Guides (v4.2.4)
These are the new guides for Rails 4.2 based on v4.2.4. These guides are designed to make you immediately productive with Rails, and to help you understand how all of the pieces fit together.

If you’re just getting started or want to learn about Rails in general, check the Rails Guides.

See http://bedford-computing.co.uk/learning/ruby-on-rails/ror-links-and-resources/


APIs
(http://api.rubyonrails.org/)
Browse all frameworks, classes, and methods