Module: Protector::Adapters::ActiveRecord
- Defined in:
- lib/protector/adapters/active_record.rb,
lib/protector/adapters/active_record/base.rb,
lib/protector/adapters/active_record/relation.rb,
lib/protector/adapters/active_record/preloader.rb,
lib/protector/adapters/active_record/association.rb,
lib/protector/adapters/active_record/validations.rb,
lib/protector/adapters/active_record/collection_proxy.rb,
lib/protector/adapters/active_record/singular_association.rb
Overview
ActiveRecord adapter
Defined Under Namespace
Modules: Association, Base, CollectionProxy, Preloader, Relation, SingularAssociation, Validations
Class Method Summary collapse
-
.activate! ⇒ Object
YIP YIP! Monkey-Patch the ActiveRecord.
- .is?(instance) ⇒ Boolean
- .modern? ⇒ Boolean
- .null_proc ⇒ Object
Class Method Details
.activate! ⇒ Object
YIP YIP! Monkey-Patch the ActiveRecord.
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/protector/adapters/active_record.rb', line 15 def self.activate! return false unless defined?(::ActiveRecord) ::ActiveRecord::Base.send :include, Protector::Adapters::ActiveRecord::Base ::ActiveRecord::Base.send :include, Protector::Adapters::ActiveRecord::Validations ::ActiveRecord::Relation.send :include, Protector::Adapters::ActiveRecord::Relation ::ActiveRecord::Associations::SingularAssociation.send :include, Protector::Adapters::ActiveRecord::Association ::ActiveRecord::Associations::SingularAssociation.send :include, Protector::Adapters::ActiveRecord::SingularAssociation ::ActiveRecord::Associations::CollectionAssociation.send :include, Protector::Adapters::ActiveRecord::Association ::ActiveRecord::Associations::Preloader.send :include, Protector::Adapters::ActiveRecord::Preloader ::ActiveRecord::Associations::Preloader::Association.send :include, Protector::Adapters::ActiveRecord::Preloader::Association ::ActiveRecord::Associations::CollectionProxy.send :include, Protector::Adapters::ActiveRecord::CollectionProxy end |
.is?(instance) ⇒ Boolean
33 34 35 36 |
# File 'lib/protector/adapters/active_record.rb', line 33 def self.is?(instance) instance.is_a?(::ActiveRecord::Relation) || (instance.is_a?(Class) && instance < ActiveRecord::Base) end |
.modern? ⇒ Boolean
29 30 31 |
# File 'lib/protector/adapters/active_record.rb', line 29 def self.modern? Gem::Version.new(::ActiveRecord::VERSION::STRING) >= Gem::Version.new('4.0.0') end |
.null_proc ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/protector/adapters/active_record.rb', line 38 def self.null_proc # rubocop:disable IndentationWidth, EndAlignment @null_proc ||= if modern? proc { none } else proc { where('1=0') } end # rubocop:enable IndentationWidth, EndAlignment end |