summaryrefslogtreecommitdiff
path: root/rubocop/cop/activerecord_serialize.rb
blob: 9bdcc3b4c34de2b88d44f5ecc6e07eacec7de653 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require_relative '../model_helpers'

module RuboCop
  module Cop
    # Cop that prevents the use of `serialize` in ActiveRecord models.
    class ActiverecordSerialize < RuboCop::Cop::Cop
      include ModelHelpers

      MSG = 'Do not store serialized data in the database, use separate columns and/or tables instead'.freeze

      def on_send(node)
        return unless in_model?(node)

        add_offense(node, :selector) if node.children[1] == :serialize
      end
    end
  end
end