Module: Sinatra::API::Callbacks

Included in:
Sinatra::API
Defined in:
lib/sinatra/api/callbacks.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#callbacksObject

Returns the value of attribute callbacks.



25
26
27
# File 'lib/sinatra/api/callbacks.rb', line 25

def callbacks
  @callbacks
end

Class Method Details

.extended(base) ⇒ Object



27
28
29
# File 'lib/sinatra/api/callbacks.rb', line 27

def self.extended(base)
  base.callbacks = {}
end

Instance Method Details

#on(event, &callback) ⇒ Object



31
32
33
# File 'lib/sinatra/api/callbacks.rb', line 31

def on(event, &callback)
  (self.callbacks[event.to_sym] ||= []) << callback
end

#trigger(event, *args) ⇒ Object



35
36
37
38
39
40
# File 'lib/sinatra/api/callbacks.rb', line 35

def trigger(event, *args)
  callbacks = self.callbacks[event.to_sym] || []
  callbacks.each do |callback|
    callback.call(*args)
  end
end