Sha256: 01b57ef7173b9a50f3e3183b237d6c387ac96ec5934e6d4a5b0f07f223c00fac
Contents?: true
Size: 976 Bytes
Versions: 1
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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails_best_practices-1.19.1 | lib/rails_best_practices/prepares/initializer_prepare.rb |