Class: Protector::Adapters::Sequel::Dataset::Restrictor
- Inherits:
-
Object
- Object
- Protector::Adapters::Sequel::Dataset::Restrictor
- Defined in:
- lib/protector/adapters/sequel/dataset.rb
Overview
Wrapper for the Dataset row_proc
adding restriction function
Instance Attribute Summary collapse
-
#mutator ⇒ Object
Returns the value of attribute mutator.
-
#subject ⇒ Object
Returns the value of attribute subject.
Instance Method Summary collapse
-
#call(entity) ⇒ Object
Mutate entity through
row_proc
if available and then protect. -
#initialize(subject, mutator) ⇒ Restrictor
constructor
A new instance of Restrictor.
Constructor Details
#initialize(subject, mutator) ⇒ Restrictor
Returns a new instance of Restrictor.
12 13 14 15 |
# File 'lib/protector/adapters/sequel/dataset.rb', line 12 def initialize(subject, mutator) @subject = subject @mutator = mutator end |
Instance Attribute Details
#mutator ⇒ Object
Returns the value of attribute mutator.
10 11 12 |
# File 'lib/protector/adapters/sequel/dataset.rb', line 10 def mutator @mutator end |
#subject ⇒ Object
Returns the value of attribute subject.
9 10 11 |
# File 'lib/protector/adapters/sequel/dataset.rb', line 9 def subject @subject end |
Instance Method Details
#call(entity) ⇒ Object
Mutate entity through row_proc
if available and then protect
20 21 22 23 24 |
# File 'lib/protector/adapters/sequel/dataset.rb', line 20 def call(entity) entity = mutator.call(entity) if mutator return entity unless entity.respond_to?(:restrict!) entity.restrict!(@subject) end |