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
Overview
ActiveRecord adapter
Defined Under Namespace
Modules: Association, Base, Preloader, Relation
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.
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/protector/adapters/active_record.rb', line 12 def self.activate! return false unless defined?(::ActiveRecord) ::ActiveRecord::Base.send :include, Protector::Adapters::ActiveRecord::Base ::ActiveRecord::Relation.send :include, Protector::Adapters::ActiveRecord::Relation ::ActiveRecord::Associations::SingularAssociation.send :include, Protector::Adapters::ActiveRecord::Association ::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 end |
.is?(instance) ⇒ Boolean
27 28 29 30 |
# File 'lib/protector/adapters/active_record.rb', line 27 def self.is?(instance) instance.is_a?(::ActiveRecord::Relation) || (instance.is_a?(Class) && instance < ActiveRecord::Base) end |
.modern? ⇒ Boolean
23 24 25 |
# File 'lib/protector/adapters/active_record.rb', line 23 def self.modern? Gem::Version.new(::ActiveRecord::VERSION::STRING) >= Gem::Version.new('4.0.0') end |
.null_proc ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/protector/adapters/active_record.rb', line 32 def self.null_proc @null_proc ||= if modern? Proc.new{ none } else Proc.new{ where("1=0") } end end |