Module: Remockable::ActiveModel::Helpers

Includes:
Helpers
Defined in:
lib/remockable/active_model/helpers.rb

Constant Summary collapse

CONDITIONALS =
[:if, :unless]

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helpers

#unsupported_options, #valid_options

Instance Attribute Details

#typeObject (readonly)

Returns the value of attribute type.



10
11
12
# File 'lib/remockable/active_model/helpers.rb', line 10

def type
  @type
end

Instance Method Details

#conditionals_match(validator) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/remockable/active_model/helpers.rb', line 23

def conditionals_match(validator)
  CONDITIONALS.all? do |option|
    expected_value = expected[option]

    if !expected_value.nil? && expected_value.is_a?(Symbol)
      validator.options[option] == expected_value
    elsif !expected_value.nil?
      validator.options[option].call(actual) == true
    else
      true
    end
  end
end

#options_match(validator, expected = expected) ⇒ Object



18
19
20
21
# File 'lib/remockable/active_model/helpers.rb', line 18

def options_match(validator, expected=expected)
  actual = validator.options.slice(*(expected.keys - CONDITIONALS))
  actual == expected.except(*CONDITIONALS)
end

#validator_for(attribute) ⇒ Object



12
13
14
15
16
# File 'lib/remockable/active_model/helpers.rb', line 12

def validator_for(attribute)
  subject.class.validators_on(attribute).detect do |validator|
    validator.kind == type
  end
end