Class: Dryv::RulesFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/dryv/rules_factory.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value, errors = Dryv::Errors.new, **args) ⇒ RulesFactory

Returns a new instance of RulesFactory.



6
7
8
9
10
# 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

Instance Attribute Details

#argsObject (readonly)

Returns the value of attribute args.



4
5
6
# File 'lib/dryv/rules_factory.rb', line 4

def args
  @args
end

#errorsObject (readonly)

Returns the value of attribute errors.



4
5
6
# File 'lib/dryv/rules_factory.rb', line 4

def errors
  @errors
end

#valueObject (readonly)

Returns the value of attribute value.



4
5
6
# File 'lib/dryv/rules_factory.rb', line 4

def value
  @value
end

Instance Method Details

#between?(right) ⇒ Boolean

Returns:

  • (Boolean)


74
75
76
# File 'lib/dryv/rules_factory.rb', line 74

def between?(right)
  Dryv::Rules::Between.new(value, errors, build_args(right))
end

#each(&block) ⇒ Object



89
90
91
92
93
94
95
96
# 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) ⇒ Object



99
100
101
102
103
104
105
106
# 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) ⇒ Boolean Also known as: eq?

Returns:

  • (Boolean)


18
19
20
# File 'lib/dryv/rules_factory.rb', line 18

def equal?(right)
  Dryv::Rules::Equal.new(value, errors, build_args(right))
end

#format?(right) ⇒ Boolean

Returns:

  • (Boolean)


84
85
86
# File 'lib/dryv/rules_factory.rb', line 84

def format?(right)
  Dryv::Rules::Format.new(value, errors, build_args(right))
end

#greater_than?(right) ⇒ Boolean Also known as: gt?

Returns:

  • (Boolean)


30
31
32
# File 'lib/dryv/rules_factory.rb', line 30

def greater_than?(right)
  Dryv::Rules::GreaterThan.new(value, errors, build_args(right))
end

#greater_than_or_equal?(right) ⇒ Boolean Also known as: gt_eq?

Returns:

  • (Boolean)


36
37
38
# File 'lib/dryv/rules_factory.rb', line 36

def greater_than_or_equal?(right)
  Dryv::Rules::GreaterThanOrEqual.new(value, errors, build_args(right))
end

#included?(right) ⇒ Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/dryv/rules_factory.rb', line 54

def included?(right)
  Dryv::Rules::Included.new(value, errors, build_args(right))
end

#length_between?(right) ⇒ Boolean

Returns:

  • (Boolean)


79
80
81
# 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) ⇒ Boolean

Returns:

  • (Boolean)


59
60
61
# 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) ⇒ Boolean Also known as: lt?

Returns:

  • (Boolean)


42
43
44
# File 'lib/dryv/rules_factory.rb', line 42

def less_than?(right)
  Dryv::Rules::LessThan.new(value, errors, build_args(right))
end

#less_than_or_equal?(right) ⇒ Boolean Also known as: lt_eq?

Returns:

  • (Boolean)


48
49
50
# File 'lib/dryv/rules_factory.rb', line 48

def less_than_or_equal?(right)
  Dryv::Rules::LessThanOrEqual.new(value, errors, build_args(right))
end

#max_length?(right) ⇒ Boolean

Returns:

  • (Boolean)


69
70
71
# 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) ⇒ Boolean

Returns:

  • (Boolean)


64
65
66
# 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) ⇒ Boolean Also known as: not_eq?

Returns:

  • (Boolean)


24
25
26
# File 'lib/dryv/rules_factory.rb', line 24

def not_equal?(right)
  Dryv::Rules::NotEqual.new(value, errors, build_args(right))
end

#present?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/dryv/rules_factory.rb', line 13

def present?
  Dryv::Rules::Present.new(value, errors, args)
end