Class: RuboCop::Cop::Betterment::VagueSerialize
- Inherits:
-
Base
- Object
- Base
- RuboCop::Cop::Betterment::VagueSerialize
- Defined in:
- lib/rubocop/cop/betterment/vague_serialize.rb
Constant Summary collapse
- MSG =
'Active Record models with serialized columns should specify which ' \ 'deserializer to use instead of falling back to the default.'
Instance Method Summary collapse
- #kwargs_with_coder?(node) ⇒ Object
- #on_send(node) ⇒ Object (also: #on_csend)
- #serialize?(node) ⇒ Object
- #valid_serialize?(node) ⇒ Object
Instance Method Details
#kwargs_with_coder?(node) ⇒ Object
16 |
# File 'lib/rubocop/cop/betterment/vague_serialize.rb', line 16 def_node_matcher :kwargs_with_coder?, '(hash <(pair (sym :coder) const) ...>)' |
#on_send(node) ⇒ Object Also known as: on_csend
23 24 25 |
# File 'lib/rubocop/cop/betterment/vague_serialize.rb', line 23 def on_send(node) add_offense(node) if serialize?(node) && !valid_serialize?(node) end |
#serialize?(node) ⇒ Object
11 12 13 |
# File 'lib/rubocop/cop/betterment/vague_serialize.rb', line 11 def_node_matcher :serialize?, <<-PATTERN (send nil? :serialize ...) PATTERN |
#valid_serialize?(node) ⇒ Object
19 20 21 |
# File 'lib/rubocop/cop/betterment/vague_serialize.rb', line 19 def_node_matcher :valid_serialize?, <<-PATTERN (send nil? :serialize _ { const !#kwargs_with_coder?? | #kwargs_with_coder? }) PATTERN |