class Eventifier::EventBuilder
Attributes
groupable[R]
object[R]
options[R]
user[R]
verb[R]
Public Class Methods
new(object, user, verb, groupable, options)
click to toggle source
# File lib/eventifier/event_builder.rb, line 6 def initialize(object, user, verb, groupable, options) @object, @user, @verb, @groupable, @options = object, user, verb, groupable, options end
store(object, user, verb, groupable = nil, options = {})
click to toggle source
# File lib/eventifier/event_builder.rb, line 2 def self.store(object, user, verb, groupable = nil, options = {}) new(object, user, verb, groupable || object, options).store end
Public Instance Methods
store()
click to toggle source
# File lib/eventifier/event_builder.rb, line 11 def store Eventifier::Event.create user: user, eventable: object, groupable: groupable, verb: verb, change_data: change_data, system: options[:system] end
Private Instance Methods
change_data()
click to toggle source
# File lib/eventifier/event_builder.rb, line 21 def change_data return options[:change_data] unless options[:change_data].nil? changes = object.changes.stringify_keys changes.reject! { |attribute, value| options[:except].include?(attribute) } if options[:except] changes.select! { |attribute, value| options[:only].include?(attribute) } if options[:only] changes.symbolize_keys end