Class: Remarkable::ActiveRecord::Matchers::ProtectAttributes

Inherits:
Matcher::Base
  • Object
show all
Defined in:
lib/remarkable/active_record/macros/validations/protect_attributes_matcher.rb

Instance Method Summary collapse

Methods inherited from Matcher::Base

#failure_message, #negative, #negative_failure_message, #spec

Methods included from Matcher::DSL

included

Constructor Details

#initialize(*attributes) ⇒ ProtectAttributes



5
6
7
8
# File 'lib/remarkable/active_record/macros/validations/protect_attributes_matcher.rb', line 5

def initialize(*attributes)
  attributes.extract_options!
  @attributes = attributes
end

Instance Method Details

#descriptionObject



19
20
21
# File 'lib/remarkable/active_record/macros/validations/protect_attributes_matcher.rb', line 19

def description
  "protect #{@attributes.to_sentence} from mass updates"
end

#matches?(subject) ⇒ Boolean



10
11
12
13
14
15
16
17
# File 'lib/remarkable/active_record/macros/validations/protect_attributes_matcher.rb', line 10

def matches?(subject)
  @subject = subject

  assert_matcher_for(@attributes) do |attribute|
    @attribute = attribute
    protect_from_mass_updates?
  end
end