module StandaloneValidator::NamedValidations::CommonRailsOptions
Constants
- ALWAYS_TRUE
Attributes
attributes[R]
options[R]
Public Class Methods
condition_for(options)
click to toggle source
# File lib/standalone_validator/named_validations/common_rails_options.rb, line 14 def self.condition_for(options) if options.has_key?(:if) options[:if].to_proc elsif options.has_key?(:unless) reverse_condition = options[:unless].to_proc ->(*args) { negates = instance_exec(*args, &reverse_condition) not negates } else ALWAYS_TRUE end end
extract_options!(array)
click to toggle source
# File lib/standalone_validator/named_validations/common_rails_options.rb, line 4 def self.extract_options!(array) if array.last.is_a?(Hash) array.pop else {} end end
included(base)
click to toggle source
# File lib/standalone_validator/named_validations/common_rails_options.rb, line 29 def self.included(base) base.extend(ClassMethods) end
new(*names)
click to toggle source
# File lib/standalone_validator/named_validations/common_rails_options.rb, line 43 def initialize(*names) options = CommonRailsOptions.extract_options!(names) @attributes = names @options = options end
Private Instance Methods
condition()
click to toggle source
# File lib/standalone_validator/named_validations/common_rails_options.rb, line 57 def condition @condition ||= CommonRailsOptions.condition_for(options) end
each_validated_attribute_on(object) { |attribute_name, value| ... }
click to toggle source
# File lib/standalone_validator/named_validations/common_rails_options.rb, line 61 def each_validated_attribute_on(object) return to_enum(:each_validated_attribute, object) unless block_given? attributes.each do |attribute_name| value = object.send(attribute_name) yield(attribute_name, value) end end
evaluate_condition(object)
click to toggle source
# File lib/standalone_validator/named_validations/common_rails_options.rb, line 53 def evaluate_condition(object) instance_exec(object, &condition) end