module Bail

Constants

VERSION

Public Class Methods

raise_on_error() click to toggle source

handle the behavior preferences

# File lib/bail.rb, line 51
def self.raise_on_error
  @@raise_on_error
end
raise_on_error=(boolean_value) click to toggle source
# File lib/bail.rb, line 55
def self.raise_on_error=(boolean_value)
  @@raise_on_error = boolean_value

  if boolean_value
    Bail.behavior = RaiseBehavior.new
  else
    Bail.behavior = ReturnBehavior.new
  end
end
when(enumerator, *objects, &block) click to toggle source

Bail.when(:any, :of, :these, :things) {|item| item.nil?}

# File lib/bail.rb, line 13
def self.when(enumerator, *objects, &block)
  execute(enumerator, block, objects)
end
when_all(condition, *objects) click to toggle source
# File lib/bail.rb, line 21
def self.when_all(condition, *objects)
  execute(:all?, condition, objects)
end
when_any(condition, *objects) click to toggle source
# File lib/bail.rb, line 17
def self.when_any(condition, *objects)
  execute(:any?, condition, objects)
end
when_none(condition, *objects) click to toggle source
# File lib/bail.rb, line 29
def self.when_none(condition, *objects)
  execute(:none?, condition, objects)
end
when_one(condition, *objects) click to toggle source
# File lib/bail.rb, line 25
def self.when_one(condition, *objects)
  execute(:one?, condition, objects)
end

Private Class Methods

execute(type, condition, objects) click to toggle source
# File lib/bail.rb, line 33
def self.execute(type, condition, objects)
  Bail.behavior.run do
    ConditionTester.new(type).run(ConditionParser.new(condition), objects)
  end
end