Module: Granite::Action::Preconditions::ClassMethods
- Defined in:
- lib/granite/action/preconditions.rb
Instance Method Summary collapse
-
#precondition(*args, &block) ⇒ Object
Define preconditions for current action.
Instance Method Details
#precondition(*args, &block) ⇒ Object
Define preconditions for current action.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/granite/action/preconditions.rb', line 42 def precondition(*args, &block) = args. if block add_precondition(BasePrecondition, , &block) else = .extract!(:if, :unless) args.each do |type| precondition .merge(type => {}) end .each do |key, value| value = Array.wrap(value) = value. add_precondition(klass(key), *value, .merge!()) end end end |