class Moo
private
def self.foo
puts 'foo'
end
end
Foo.foo
=> 'foo'
moo = Moo.new
moo.foo = 'foo'
moo.bar
moo = Moo.new.tap { |a| a.foo = 'foo'; a.bar }
class Moo
attr_accessor :foo
def initialize(&block)
yield self if block_given?
end
def bar
puts "bar!"
end
end
moo = Moo.new do |a|
a.foo = 'foo'
a.bar
end
puts moo.foo
class Moo
def initialize(&block)
instance_eval &block if block_given?
end
def moo(val = nil)
@moo = val unless val.nil?
@moo
end
def bar
puts "bar!"
end
end
a = Moo.new do
moo 'moo~!'
bar
end
puts a.moo
class CreateDataVolumes < ActiveRecord::Migration
def up
Data::VOLUMES.times do |volume|
create_table "data_#{volume}" do |t|
# ...
end
end
end
end
class CreateDataVolumes < ActiveRecord::Migration
class Data < AR::Base
VOLUMES
end
def up
Data::VOLUMES.times do |volume|
# ...
end
end
end