Sha256: 5a239c0958594f9650c879b232459d6323ff053093b07259683a94e565cb6686
Contents?: true
Size: 976 Bytes
Versions: 16
Compression:
Stored size: 976 Bytes
Contents
# encoding: utf-8 module RailsBestPractices module Prepares # Check all initializers class InitializerPrepare < Core::Check interesting_nodes :method_add_arg, :class interesting_files INITIALIZER_FILES def initialize @configs = Prepares.configs end # check if AR include ActiveModel::ForbiddenAttributesProtection add_callback :start_method_add_arg do |node| if include_forbidden_attributes_protection?(node) @configs["railsbp.include_forbidden_attributes_protection"] = "true" end end # check if the node is # ActiveRecord::Base.send(:include, ActiveModel::ForbiddenAttributesProtection) def include_forbidden_attributes_protection?(node) "ActiveRecord::Base" == node.receiver.to_s && "send" == node.message.to_s && ["include", "ActiveModel::ForbiddenAttributesProtection"] == node.arguments.all.map(&:to_s) end end end end
Version data entries
16 entries across 16 versions & 1 rubygems