lib/stance/events.rb in stance-0.1.0 vs lib/stance/events.rb in stance-0.2.0
- old
+ new
@@ -1,14 +1,32 @@
# frozen_string_literal: true
module Stance
class Events
+ include ActiveSupport::Callbacks
+
+ attr_reader :event
+
+ define_callbacks :create
+
class << self
attr_reader :events
def event(name, options = {})
@events ||= {}
@events[name.to_s] = options
end
+
+ def before_create(*methods, &block)
+ set_callback :create, :before, *methods, &block
+ end
+
+ def after_create(*methods, &block)
+ set_callback :create, :after, *methods, &block
+ end
+ end
+
+ def initialize(event)
+ @event = event
end
end
end