class Xeroizer::Record::Validator
Attributes
attribute[R]
options[R]
Public Class Methods
new(attribute, options = {})
click to toggle source
# File lib/xeroizer/record/validators/validator.rb, line 9 def initialize(attribute, options = {}) @attribute = attribute @options = options end
Public Instance Methods
condition?(record, condition)
click to toggle source
# File lib/xeroizer/record/validators/validator.rb, line 24 def condition?(record, condition) return condition.call(record) if condition.respond_to? :call return record.send(condition) if condition.is_a? Symbol raise "Validation condition must be a Symbol or an Object that responds to call" end
run_validator?(record, options)
click to toggle source
# File lib/xeroizer/record/validators/validator.rb, line 18 def run_validator?(record, options) return false if options[:if] && !condition?(record, options[:if]) return false if options[:unless] && condition?(record, options[:unless]) true end
validate(record)
click to toggle source
# File lib/xeroizer/record/validators/validator.rb, line 14 def validate(record) valid?(record) if run_validator?(record, options) end