Class: Aequitas::Rule::Confirmation
- Inherits:
-
Aequitas::Rule
- Object
- Aequitas::Rule
- Aequitas::Rule::Confirmation
- Defined in:
- lib/aequitas/rule/confirmation.rb
Instance Attribute Summary (collapse)
-
- (Object) confirmation_attribute_name
readonly
Returns the value of attribute confirmation_attribute_name.
Attributes inherited from Aequitas::Rule
#attribute_name, #custom_message, #guard, #skip_condition
Attributes included from ValueObject
Instance Method Summary (collapse)
- - (Object) confirmation_value(resource)
-
- (Confirmation) initialize(attribute_name, options = {})
constructor
A new instance of Confirmation.
- - (Object) validate(resource)
- - (Object) violation_type
Methods inherited from Aequitas::Rule
#attribute_value, #execute?, rules_for, #skip?, #violation_data, #violation_info, #violation_values
Methods included from ValueObject
Constructor Details
- (Confirmation) initialize(attribute_name, options = {})
A new instance of Confirmation
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/aequitas/rule/confirmation.rb', line 13 def initialize(attribute_name, = {}) super @confirmation_attribute_name = .fetch(:confirm) do :#{attribute_name}_confirmation" end skip_condition.default_to_allowing_nil! skip_condition.default_to_allowing_blank! end |
Instance Attribute Details
- (Object) confirmation_attribute_name (readonly)
Returns the value of attribute confirmation_attribute_name
11 12 13 |
# File 'lib/aequitas/rule/confirmation.rb', line 11 def confirmation_attribute_name @confirmation_attribute_name end |
Instance Method Details
- (Object) confirmation_value(resource)
34 35 36 |
# File 'lib/aequitas/rule/confirmation.rb', line 34 def confirmation_value(resource) resource.instance_variable_get("@#{@confirmation_attribute_name}") end |
- (Object) validate(resource)
24 25 26 27 28 29 30 31 32 |
# File 'lib/aequitas/rule/confirmation.rb', line 24 def validate(resource) value = attribute_value(resource) if skip?(value) || value == confirmation_value(resource) nil else new_violation(resource, value) end end |
- (Object) violation_type
38 39 40 |
# File 'lib/aequitas/rule/confirmation.rb', line 38 def violation_type :confirmation end |