lib/stream/fires.rb in Stream-0.0.8 vs lib/stream/fires.rb in Stream-0.0.9

- old
+ new

@@ -3,22 +3,22 @@ def self.included(klass) klass.send(:extend, ClassMethods) end module ClassMethods - def fires(event_type, opts) + def fires(activity_type, opts) raise ArgumentError, "Argument :on is mandatory" unless opts.has_key?(:on) # Array provided, set multiple callbacks if opts[:on].kind_of?(Array) - opts[:on].each { |on| fires(event_type, opts.merge({:on => on})) } + opts[:on].each { |on| fires(activity_type, opts.merge({:on => on})) } return end opts[:subject] = :self unless opts.has_key?(:subject) - method_name = :"fire_#{event_type}_after_#{opts[:on]}" + method_name = :"fire_#{activity_type}_after_#{opts[:on]}" define_method(method_name) do create_options = [:actor, :subject, :secondary_subject].inject({}) do |memo, sym| if opts[sym] if opts[sym].respond_to?(:call) memo[sym] = opts[sym].call(self) @@ -28,10 +28,10 @@ memo[sym] = send(opts[sym]) end end memo end - create_options[:event_type] = event_type.to_s + create_options[:activity_type] = activity_type.to_s Activity.create!(create_options) end send(:"after_#{opts[:on]}", method_name, :if => opts[:if])