class NinjaModel::Predicate

Constants

PREDICATES

Attributes

attribute[R]
meth[R]
value[R]

Public Class Methods

new(attribute, meth, *args) click to toggle source
# File lib/ninja_model/predicate.rb, line 8
def initialize(attribute, meth, *args)
  @attribute = attribute
  @meth = meth
  @valued = !args.blank?
  @value = args.blank? ? nil : args.first
end

Public Instance Methods

has_value?() click to toggle source
# File lib/ninja_model/predicate.rb, line 20
def has_value?
  @valued
end
test(suspect) click to toggle source
# File lib/ninja_model/predicate.rb, line 24
def test(suspect)
  case meth
  when :eq
    suspect.eql?(value)
  when :ne
    !suspect.eql?(value)
  when :gt
    suspect > value
  when :gte
    suspect >= value
  when :lt
    suspect < value
  when :lte
    suspect <= value
  when :in
    value.include?(suspect)
  end
end
value=(value) click to toggle source
# File lib/ninja_model/predicate.rb, line 15
def value=(value)
  @value = value
  @valued = true
end