lib/stance/event.rb in stance-0.4.0 vs lib/stance/event.rb in stance-0.5.0

- old
+ new

@@ -18,12 +18,19 @@ set_callback :create, :after, *methods, &block end end def initialize(name, subject, metadata, options) - @options = { singleton: false, record: true }.merge(options) - @record = Stance::EventRecord.new(name: name, subject: subject, metadata: metadata) + @options = { singleton: false, record: true, class: false }.merge(options) + + attrs = { name: name, metadata: metadata } + if subject.is_a?(String) + attrs[:subject_type] = subject + else + attrs[:subject] = subject + end + @record = Stance::EventRecord.new(attrs) end def create return self if singleton_exists? @@ -44,10 +51,10 @@ self end def full_name - "#{subject.model_name.singular}.#{name}" + "#{record.subject_type.downcase}.#{name}" end private # Event is a singleton and already exists.