Module: Toni::InModel
- Defined in:
- lib/toni/in_model.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/toni/in_model.rb', line 3 def self.included(base) base.extend(ClassMethods) [:create, :update, :destroy].each do |action| base.send(:"before_#{action}") do |object| activity = action == :destroy ? :delete : action Toni.permitted_to?(activity, object, bang: true) end end base.send(:after_find) do |object| Toni.permitted_to?(:read, object, bang: true) end # TODO: Should be active record only base.scope :permitted_to, -> { base.send(:filter_by_permissions) } end |