class Dryv::Rule
Attributes
args[R]
errors[R]
value[R]
Public Class Methods
new(value, errors = Dryv::Errors.new, **args)
click to toggle source
# File lib/dryv/rule.rb, line 6 def initialize(value, errors = Dryv::Errors.new, **args) @value = value @errors = errors @args = args.symbolize_keys end
Public Instance Methods
+(right)
click to toggle source
# File lib/dryv/rule.rb, line 46 def +(right) Dryv::Rules::Collection.new(self, errors, args.merge(right: right)) end
add_error()
click to toggle source
# File lib/dryv/rule.rb, line 18 def add_error errors.add(key, messages[name.to_s] || 'invalid') end
and(right)
click to toggle source
# File lib/dryv/rule.rb, line 28 def and(right) Dryv::Rules::And.new(self, errors, args.merge(right: right)) end
Also aliased as: &
clone()
click to toggle source
# File lib/dryv/rule.rb, line 23 def clone self.class.new(value, errors.clone, args) end
name()
click to toggle source
# File lib/dryv/rule.rb, line 13 def name args[:name] end
or(right)
click to toggle source
# File lib/dryv/rule.rb, line 40 def or(right) Dryv::Rules::Or.new(self, errors, args.merge(right: right)) end
Also aliased as: |
then(right)
click to toggle source
# File lib/dryv/rule.rb, line 34 def then(right) Dryv::Rules::Then.new(self, errors, args.merge(right: right)) end
Also aliased as: >
valid?()
click to toggle source
# File lib/dryv/rule.rb, line 51 def valid? raise NotImplementedError end
Private Instance Methods
key()
click to toggle source
# File lib/dryv/rule.rb, line 64 def key @key ||= args[:key] || (raise 'Missing required param "key"') end
messages()
click to toggle source
# File lib/dryv/rule.rb, line 59 def messages @messages ||= (args[:messages] || {}).deep_stringify_keys end