class Bail::ConditionParser

Attributes

condition[RW]

Public Class Methods

new(condition) click to toggle source
# File lib/bail/condition_parser.rb, line 7
def initialize(condition)
  @condition = make_callable(condition)
end

Public Instance Methods

test(object) click to toggle source
# File lib/bail/condition_parser.rb, line 11
def test(object)
  condition.call(object)
end

Protected Instance Methods

make_callable(condition) click to toggle source
# File lib/bail/condition_parser.rb, line 19
def make_callable(condition)
  if condition.respond_to? :call
    condition
  elsif condition.is_a? Hash
    condition_hash_to_lambda(condition)
  else
    # Assume Symbol or String for now
    # so wrap it in a pretty dress
    question = questionable(condition)
    ->(to) { to.send(question) }
  end
end