class Object
Public Instance Methods
case(cases={})
click to toggle source
# File lib/condition_red.rb, line 29 def case cases={} any_case = false result = nil cases.each_pair do |key, value| (key==self).if true: -> do any_case = true result = value.respond_to?(:call).if true: ->{value.call}, false: ->{value} end end any_case.if false: ->{ cases[:else].nil?.if false: -> do result = cases[:else].respond_to?(:call).if true: ->{cases[:else].call}, false: ->{cases[:else]} end } result end
if(conditions={})
click to toggle source
# File lib/condition_red.rb, line 25 def if conditions={} conditions = {true: ->{}, false: ->{}, nil: ->{}}.merge conditions if_true(&conditions[:true]).or{if_false &conditions[:false]}.or{if_nil &conditions[:nil]} end