module Seory::Condition

Public Instance Methods

[](condition) click to toggle source
# File lib/seory/condition.rb, line 12
def [](condition)
  if condition.respond_to?(:match?)
    condition
  else
    suppose(condition)
  end
end

Private Instance Methods

suppose(condition) click to toggle source
# File lib/seory/condition.rb, line 22
def suppose(condition)
  condition_class = [Params, Slug].detect {|klass| klass.supposable?(condition) }
  raise SupposionFailed.new(condition.inspect) unless condition_class

  condition_class.new(condition)
end