module Card::Set::Event::Callbacks
handle card event callbacks
Public Instance Methods
Source
# File lib/card/set/event/callbacks.rb, line 14 def set_event_callback object_method, kind valid_event_callback kind, object_method do Card.class_exec(self) do |event| set_callback object_method, kind, event.name, prepend: true, if: proc { |c| c.event_applies?(event) } end end end
Source
# File lib/card/set/event/callbacks.rb, line 6 def set_event_callbacks %i[before after around].each do |kind| next unless (object_method = @opts.delete kind) set_event_callback object_method, kind end end
Source
# File lib/card/set/event/callbacks.rb, line 23 def valid_event_callback kind, method yield rescue NoMethodError raise "invalid event callback: `#{kind}: #{method}`" end