Sha256: e000c6f8cf8300e8cd8fb14c1b737f02da2280a27bc04318bd7c1c2e5caed416
Contents?: true
Size: 989 Bytes
Versions: 2
Compression:
Stored size: 989 Bytes
Contents
# frozen_string_literal: true 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rails_best_practices-1.19.3 | lib/rails_best_practices/prepares/initializer_prepare.rb |
rails_best_practices-1.19.2 | lib/rails_best_practices/prepares/initializer_prepare.rb |