Sha256: 93acb0cacce0e6d53e86b1ce596899deb1f8d323380f33640d1222539c84cd3e
Contents?: true
Size: 1.46 KB
Versions: 1
Compression:
Stored size: 1.46 KB
Contents
require 'rails' require 'paper_trail' require 'will_paginate' class PaperTrailManager < Rails::Engine @@whodunnit_name_method = :name cattr_accessor :whodunnit_class, :whodunnit_name_method, :route_helpers, :layout, :base_controller self.base_controller = "ApplicationController" (Pathname(__FILE__).dirname + '..').tap do |base| paths["app/controller"] = base + 'app/controllers' paths["app/view"] = base + 'app/views' end def self._allow_set(action, block) send(:class_variable_set, "@@allow_#{action}_block", block) end def self._allow_check(action, *args) begin block = send(:class_variable_get, "@@allow_#{action}_block") rescue NameError => e return true end return block.call(*args) end def self.allow_index_when(&block) _allow_set(:index, block) end def self.allow_index?(controller) _allow_check(:index, controller) end def self.allow_show_when(&block) _allow_set(:show, block) end def self.allow_show?(controller, version) _allow_check(:index, controller, version) end # Describe when to allow reverts. Call this with a block that accepts # arguments for +controller+ and +version+. def self.allow_revert_when(&block) _allow_set(:revert, block) end # Allow revert given the +controller+ and +version+? If no # ::allow_revert_when was specified, always return +true+. def self.allow_revert?(controller, version) _allow_check(:revert, controller, version) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
paper_trail_manager-0.4.0 | lib/paper_trail_manager.rb |