RubyShack.com » Your source for Ruby on Rails Info                                                               >>Subscribe - Atom Feed
 

Welcome to RubyShack.com


RubyShack.com ruby language What is Ruby?

Ruby is an interpreted object-oriented programming language where every data type is an object. This includes classes and types which many other languages designate as primitives (such as integers, booleans, and "nil"). Every function is a method. Named values (variables) always designate references to objects, not the objects themselves. Classes can import modules and all methods defined outside of the scope of a particular object are actually methods of the Object class. Since this class is parent to every other class, the changes become visible to all classes and objects.



RubyShack.com ruby-on-rails What is Rails?

Rails is an open source web application framework for the Ruby programming language. It is intended to be used with an Agile development methodology, which is often utilized by web developers for its suitability for short, client-driven projects. Like many contemporary web frameworks, Rails uses the Model-View-Controller (MVC) architecture for organizing application programming. Ruby on Rails features several tools intended to make commonplace development tasks easier "out of the box". Rails provides scaffolding which can automatically construct some of the models and views needed for a basic website. A simple ruby web server (WEBrick) and Rake build system are also included. By including these common tools with the Rails system, a basic development environment is in effect provided with all versions of the software.



RubyShack.com ruby gems What is RubyGems?

RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a "gem"), a tool designed to easily manage the installation of gems, and a server for distributing them. RubyGems is now part of the standard library from Ruby



RubyShack.com mongrel What is Mongrel?

Mongrel is an open-source HTTP library and web server for Ruby web applications written by Zed A. Shaw. A distinguishing feature of Mongrel is that it uses plain HTTP, rather than FastCGI or SCGI, to communicate with other servers which may be layered in front of it.



rubyshack.com rake What is Rake?

Rake is a build function for the Ruby language, similar to make (C++) and ant (Java) is often used for DB migrations. Rake is easy to use and it does not take much time before your executing standard Rails tasks with it. The most common uses are to run the db migrations (mentioned above), running tests, loading fixtures, and building documentation for your Rails applications.



rubyshack.com webrick What is WEBrick?

WEBrick is a web server library written in Ruby. This simple HTTP web server is intended for development use as opposed to production. It is conviently bundled in the current Rails distribution and is started from the script/ folder in your rails app: script/server. You do not need to know all the details of how this server operates to start using it during development of you Rails applications.



What is CRUD?

CRUD is an acronym for the basic operations performed upon a relational database for persisting data. They are: Create, Read, Update, and Delete. Rails provides extremely easy CRUD operations on a database, using the previously mentioned ActiveRecord and using Scaffolding. Often this is talked about as Rails greatest strength, but that is really only a superficial assessment of Rails. It does provide an almost development-free framework for performing basic CRUD operations, but, as you will find out, the benefits of Rails only start here.



What is Scaffolding?

AS of Rails 2.0 Scaffolding does even more. Scaffolding is a Rails feature that generates the Model, database migration script as well as the controller, helper and testing support files. Scaffolding is like a built in CRUD (Create, Retrieve, Update, Delete) wizard that builds a functional CRUD interface for each model in your application. In literally a minute or two you not only have your objects and database created at the same time, but with scaffolding, you can have a fully working interface for manipulating that data. While scaffolding is cool, it by no means represents the full beauty and pleasure of using Rails.



What is Convention over Configuration?

Convention over configuration refers to reducing the number of configuration files and accepting some standard RoR configuration practices, such as plural table names, Controller / View directory name relationship, etc...
In the past everything was determined by configuration files, but now time is saved by using some predetermined choices.



Be sure to check out the Blog, Projects and Tutorials on this site for some detailed examples of developing with Ruby on Rails.