Module: Predicate::Sugar

Included in:
Predicate
Defined in:
lib/predicate/sugar.rb

Instance Method Summary collapse

Instance Method Details

#between(middle, lower_bound, upper_bound) ⇒ Object



11
12
13
14
# File 'lib/predicate/sugar.rb', line 11

def between(middle, lower_bound, upper_bound)
  _factor_predicate [:and, [:gte, sexpr(middle), sexpr(lower_bound)],
                           [:lte, sexpr(middle), sexpr(upper_bound)]]
end

#is_null(operand) ⇒ Object



38
39
40
# File 'lib/predicate/sugar.rb', line 38

def is_null(operand)
  eq(operand, nil)
end

#match(left, right, options = nil) ⇒ Object



16
17
18
# File 'lib/predicate/sugar.rb', line 16

def match(left, right, options = nil)
  super(left, right, options)
end

#max_size(left, right) ⇒ Object



31
32
33
34
35
36
# File 'lib/predicate/sugar.rb', line 31

def max_size(left, right)
  unless right.is_a?(Integer)
    raise ArgumentError, "Integer expected, got #{right}"
  end
  has_size(left, 0..right)
end

#min_size(left, right) ⇒ Object



20
21
22
23
24
25
26
27
28
29
# File 'lib/predicate/sugar.rb', line 20

def min_size(left, right)
  unless right.is_a?(Integer)
    raise ArgumentError, "Integer expected, got #{right}"
  end
  if RUBY_VERSION >= "2.6"
    has_size(left, Range.new(right,nil))
  else
    has_size(left, Range.new(right,(2**32-1)))
  end
end