class ViewModel::Migration::Builder
Tiny DSL for defining migration classes
Public Class Methods
new()
click to toggle source
# File lib/view_model/migration.rb, line 18 def initialize @up_block = nil @down_block = nil end
Public Instance Methods
build!()
click to toggle source
# File lib/view_model/migration.rb, line 23 def build! migration = Class.new(ViewModel::Migration) migration.define_method(:up, &@up_block) if @up_block migration.define_method(:down, &@down_block) if @down_block migration end
Private Instance Methods
check_signature!(block)
click to toggle source
# File lib/view_model/migration.rb, line 42 def check_signature!(block) unless block.arity == 2 raise RuntimeError.new('Illegal signature for migration method, must be (view, references)') end end
down(&block)
click to toggle source
# File lib/view_model/migration.rb, line 37 def down(&block) check_signature!(block) @down_block = block end
up(&block)
click to toggle source
# File lib/view_model/migration.rb, line 32 def up(&block) check_signature!(block) @up_block = block end