1. “I always knew that one day
Smalltalk would replace Java. I
just didn’t know it would be called
Ruby.”
– Kent Beck, MountainWest RubyConf 2009
2.
3.
4. o dynamic, reflective, general purpose object-oriented
programming language
o designed by Yukihiro "Matz" Matsumoto. It was influenced
primarily by Perl, Smalltalk, Eiffel, and Lisp.
o Ruby supports multiple programming paradigms, including
functional, object oriented, imperative and reflective. It
also has a dynamic type system and automatic memory
management; it is therefore similar in varying respects to
Python, Perl, Lisp, Dylan, Pike, and CLU.
o alternative implementations of the Ruby language,
including YARV, JRuby, Rubinius, IronRuby, MacRuby, and
HotRuby, each of which takes a different approach, with
IronRuby, JRuby and MacRuby providing just-in-time
compilation and MacRuby also providing ahead-of-time
compilation
5. o open source web application framework for the Ruby
programming language.
o It is intended to be used with an Agile development
methodology that is used by web developers for rapid
development
o Ruby on Rails was extracted by David Heinemeier Hansson
from his work on Basecamp, a project management tool by
37signals (now a web application company
o David Hansson first released Rails as open source in July 2004
6. o By helping you know what the code in your
application is doing
o By helping you do more in, and with, your Rails
applications that you can if you limit yourself to the
readily available Rails idioms and techniques
o By allowing you to familiarize yourself with the Rails
source code, which in turn enables you to
participate in discussions about Rails and perhaps
submit bugs and patches.
o By giving you powerful tool for administrative and
organization tasks connected with your application.
15. • MVC
• Server
• Convention over Configuration
• Structure of a Rails App
• DRY(Don’t Repeat Yourself)
• Migrations
• Gems
• Routes
• And other topics
16. o Stands for Model-View-Controller
o Model is responsible for maintaining the state of an
application
o View layer provides the user interface
of an application
17. o WEBrick
o Mongrel
o > ruby script/server
o > gem server
18. o All you need is common
sense and it works like
magic!
o Comparison with C# ,
Java
o No Connection String
19. o Another example of
convention over
configuration
o Advantages
o > ruby script/console
21. 1. Migrations are a convenient way for you to alter your
database in a structured and organized manner. You could
edit fragments of SQL by hand but you would then be
responsible for telling other developers that they need to go
and run them. You’d also have to keep track of which
changes need to be run against the production machines
next time you deploy.
2. db/schema.rb
3. Timestamp
4. Use of migrations in case of faulty code generation
22. class CreateProducts < ActiveRecord::Migration
def self.up
create_table :products do |t|
t.string :name
t.text :description
t.timestamps
end
end
def self.down
drop_table :products
end
end