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.