class Dryv::RulesFactory
Attributes
args[R]
errors[R]
value[R]
Public Class Methods
new(value, errors = Dryv::Errors.new, **args)
click to toggle source
# File lib/dryv/rules_factory.rb, line 6 def initialize(value, errors = Dryv::Errors.new, **args) @value = value @errors = errors @args = args.symbolize_keys end
Public Instance Methods
between?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 74 def between?(right) Dryv::Rules::Between.new(value, errors, build_args(right)) end
each(&block)
click to toggle source
# File lib/dryv/rules_factory.rb, line 89 def each(&block) return if value.blank? value.inject(nil) do |rule, e| _rule = self.class.new(e, errors, args).instance_exec(&block) rule = rule ? rule & _rule : _rule rule end end
each_value(&block)
click to toggle source
# File lib/dryv/rules_factory.rb, line 99 def each_value(&block) return if value.blank? value.inject(nil) do |rule, (k, v)| _rule = self.class.new(v, errors, args).instance_exec(&block) rule = rule ? rule & _rule : _rule rule end end
equal?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 18 def equal?(right) Dryv::Rules::Equal.new(value, errors, build_args(right)) end
Also aliased as: eq?
format?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 84 def format?(right) Dryv::Rules::Format.new(value, errors, build_args(right)) end
greater_than?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 30 def greater_than?(right) Dryv::Rules::GreaterThan.new(value, errors, build_args(right)) end
Also aliased as: gt?
greater_than_or_equal?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 36 def greater_than_or_equal?(right) Dryv::Rules::GreaterThanOrEqual.new(value, errors, build_args(right)) end
Also aliased as: gt_eq?
included?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 54 def included?(right) Dryv::Rules::Included.new(value, errors, build_args(right)) end
length_between?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 79 def length_between?(right) Dryv::Rules::LengthBetween.new(value, errors, build_args(right)) end
length_equal?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 59 def length_equal?(right) Dryv::Rules::LengthEqual.new(value, errors, build_args(right)) end
less_than?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 42 def less_than?(right) Dryv::Rules::LessThan.new(value, errors, build_args(right)) end
Also aliased as: lt?
less_than_or_equal?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 48 def less_than_or_equal?(right) Dryv::Rules::LessThanOrEqual.new(value, errors, build_args(right)) end
Also aliased as: lt_eq?
max_length?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 69 def max_length?(right) Dryv::Rules::MaxLength.new(value, errors, build_args(right)) end
min_length?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 64 def min_length?(right) Dryv::Rules::MinLength.new(value, errors, build_args(right)) end
not_equal?(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 24 def not_equal?(right) Dryv::Rules::NotEqual.new(value, errors, build_args(right)) end
Also aliased as: not_eq?
present?()
click to toggle source
# File lib/dryv/rules_factory.rb, line 13 def present? Dryv::Rules::Present.new(value, errors, args) end
Private Instance Methods
build_args(right)
click to toggle source
# File lib/dryv/rules_factory.rb, line 112 def build_args(right) rt = right.is_a?(self.class) ? right.value : right args.merge(right: rt) end