Class: Granite::Action::Preconditions::BasePrecondition

Inherits:
Object
  • Object
show all
Defined in:
lib/granite/action/preconditions/base_precondition.rb

Direct Known Subclasses

EmbeddedPrecondition

Instance Method Summary collapse

Constructor Details

#initialize(*args, &block) ⇒ BasePrecondition

Returns a new instance of BasePrecondition.



5
6
7
8
9
# File 'lib/granite/action/preconditions/base_precondition.rb', line 5

def initialize(*args, &block)
  @options = args.extract_options!
  @args = args
  @block = block
end

Instance Method Details

#execute!(context) ⇒ Object



11
12
13
14
15
16
# File 'lib/granite/action/preconditions/base_precondition.rb', line 11

def execute!(context)
  return if @options[:if] && !context.instance_exec(&@options[:if])
  return if @options[:unless] && context.instance_exec(&@options[:unless])

  _execute(context)
end