Class: Audited::Deferrable::Base
- Inherits:
-
Object
- Object
- Audited::Deferrable::Base
- Defined in:
- lib/audited/deferrable/base.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
- #arguments ⇒ Object
- #defer ⇒ Object
-
#initialize(object, user, attrs) ⇒ Base
constructor
A new instance of Base.
- #work ⇒ Object
Constructor Details
#initialize(object, user, attrs) ⇒ Base
Returns a new instance of Base.
5 6 7 8 9 |
# File 'lib/audited/deferrable/base.rb', line 5 def initialize(object, user, attrs) @object = object @user = user @attrs = attrs end |
Class Method Details
.from_arguments(object_class_name, object_id, user_class_name, user_id, attrs) ⇒ Object
21 22 23 24 25 |
# File 'lib/audited/deferrable/base.rb', line 21 def self.from_arguments(object_class_name, object_id, user_class_name, user_id, attrs) object = object_class_name.constantize.find(object_id) rescue nil user = user_class_name.constantize.find(user_id) rescue nil if user_class_name new(object, user, attrs) end |
Instance Method Details
#arguments ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/audited/deferrable/base.rb', line 11 def arguments [ @object.class.name, @object.id, @user.try(:class).try(:name), @user.try(:id), @attrs ] end |
#defer ⇒ Object
27 28 29 |
# File 'lib/audited/deferrable/base.rb', line 27 def defer raise ArgumentError, "Implementation Required" end |
#work ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/audited/deferrable/base.rb', line 31 def work if @object Audited.audit_class.as_user(@user) do @object.send(:write_audit_without_deferrable, @attrs) end else false end end |