For fun and profit
http://slides.com/sophiedeziel/ruby-and-rails-milestone-1
Langage
Framework
Les bases de Ruby
puts 'Hello World!'
$ ruby helloworld.rb
→ irb
2.2.4 :001 >
→ irb
2.2.4 :001 > 1
=> 1
2.2.4 :002 > 1.class
=> Fixnum
2.2.4 :003 > 1.times { puts "yay!" }
yay!
=> 1
chiffre = 2
parité = if chiffre % 2 == 0
'pair'
else
'impair'
end
puts parité # => 'pair'
4 + 3
7 * 6
6 / 2
9 - 4
valeur = 5
valeur + 9
if valeur > 10
puts "C'est plus grand que 10"
elsif valeur > 5
puts "C'est plus grand que 5"
else
puts "C'est plus petit que 5"
end
def pair?(nombre)
nombre % 2 == 0
end
# array
[1,2,3]
['chien', 'chat']
couleurs = ['orange', 'pomme', 'banane']
couleurs + 'cerise'
couleurs.size
couleurs.first
# Hash
colors = { blue: '#0000FF', red: '#FF0000', green: '#00FF00' }
colors[:blue]
colors.fetch(:yellow, '#FFFF00')
colors.fetch(:blue, '#000077')
person = {
name: 'John',
hobbies: ['volleyball', 'bad puns']
}
3.times do
puts "Yay!"
end
['pomme', 'orange', 'banane'].each do |fruit|
puts "Je mange une #{fruit}"
end
3.times { puts "Syntaxe sur une ligne" }
variable = 'cinq'
['pomme', 'orange', 'banane'].each do |fruit|
puts "Je mange #{variable} #{fruit}s"
end
class Zombie < EvilCreature
attr_accessor :limbs
def self.spawn_a_lot
(1..20).map { new }
end
def initialize
@limbs = [:right_arm, :left_arm, :right_leg, :left_leg, :head]
end
def shoot
remove_random_limb
end
private
def remove_random_limb
@limbs.delete @limbs.sample
end
end
zombie = Zombie.new
zombie.limbs
horde = Zombie.spawn_a_lot
cd le/repertoire/de/vos/projets
rails new mon_blog -d postgresql
cd mon_blog
rails server
rails console
rails generate
rake -T
Dans Rails 5, toutes les commandes rake pourront être roulées avec la commande rails
SQLite par défaut
Possible d'utiliser postgres, mysql, mongodb, et plusieurs autres
On doit installer le Gem correspondant et avoir une instance de dev
Finalement, configurer les accès selon les spécifications du gem
default: &default
adapter: postgresql
encoding: unicode
pool: 5
development:
<<: *default
database: my_app_development
test:
<<: *default
database: my_app_test
production:
<<: *default
database: my_app_production
username: my_app
password: <%= ENV['MY_APP_DATABASE_PASSWORD'] %>
config/database.yml
rake db:create
# Il existe plusieurs commandes de bases de données
rake db:create
rake db:drop
rake db:fixtures:load
rake db:migrate
rake db:migrate:status
rake db:rollback
rake db:schema:cache:clear
rake db:schema:cache:dump
rake db:schema:dump
rake db:schema:load
rake db:seed
rake db:setup
rake db:structure:dump
rake db:structure:load
rake db:version
rails server
=> Booting WEBrick
=> Rails 4.2.4 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2016-04-20 20:21:00] INFO WEBrick 1.3.1
[2016-04-20 20:21:00] INFO ruby 2.2.1 (2015-02-26) [x86_64-darwin14]
[2016-04-20 20:21:00] INFO WEBrick::HTTPServer#start: pid=52806 port=3000
Complété!!!!!