class Conditional

Public Class Methods

if(*args, &block) click to toggle source
# File lib/conditional.rb, line 4
def self.if(*args, &block)
  new.if(*args, &block)
end
new() click to toggle source
# File lib/conditional.rb, line 8
def initialize
  @conditions = []
end

Public Instance Methods

else(&block) click to toggle source
# File lib/conditional.rb, line 19
def else(&block)
  @conditions << [true, block]
  evaluate
end
else_nil() click to toggle source
# File lib/conditional.rb, line 24
def else_nil
  self.else {}
end
elsif(condition, &block)
Alias for: if
if(condition, &block) click to toggle source
# File lib/conditional.rb, line 12
def if(condition, &block)
  @conditions << [condition, block]
  self
end
Also aliased as: elsif

Private Instance Methods

evaluate() click to toggle source
# File lib/conditional.rb, line 30
def evaluate
  condition, block = @conditions.find { |(condition, _)| condition }
  block.call(condition)
end