Module: Stampable::Base
- Defined in:
- lib/stampable/base.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.config ⇒ Object
7 8 9 |
# File 'lib/stampable/base.rb', line 7 def self.config @config || {:stamp_field => :modified_by, :except_user_list => ['background_job']} end |
.config=(config) ⇒ Object
3 4 5 |
# File 'lib/stampable/base.rb', line 3 def self.config= config @config = self.config.merge(config) end |
.included(klass) ⇒ Object
11 12 13 |
# File 'lib/stampable/base.rb', line 11 def self.included(klass) klass.send :before_save, :set_modified_by end |
Instance Method Details
#set_modified_by ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/stampable/base.rb', line 15 def set_modified_by return unless changed? user_name = Thread.current['current_user'] || Stampable::Base.config[:default_user] return if Stampable::Base.config[:except_user_list].include?(user_name) stamp_writer = (Stampable::Base.config[:stamp_field].to_s + '=').to_sym send(stamp_writer, user_name) if respond_to?(stamp_writer) end |