Class: RequestMigrations::Migration::ConditionalBlock

Inherits:
Object
  • Object
show all
Defined in:
lib/request_migrations/migration.rb

Instance Method Summary collapse

Constructor Details

#initialize(if: nil, &block) ⇒ ConditionalBlock

Returns a new instance of ConditionalBlock.



31
32
33
34
# File 'lib/request_migrations/migration.rb', line 31

def initialize(if: nil, &block)
  @if    = binding.local_variable_get(:if)
  @block = block
end

Instance Method Details

#call(ctx, *args) ⇒ Object



36
37
38
39
40
41
# File 'lib/request_migrations/migration.rb', line 36

def call(ctx, *args)
  return if
    @if.respond_to?(:call) && !@if.call(*args)

  ctx.instance_exec(*args, &@block)
end