Class: Spank::InterceptorRegistration

Inherits:
Object
  • Object
show all
Defined in:
lib/spank/interceptor_registration.rb

Instance Method Summary collapse

Constructor Details

#initialize(method_symbol) ⇒ InterceptorRegistration

Returns a new instance of InterceptorRegistration.



3
4
5
6
# File 'lib/spank/interceptor_registration.rb', line 3

def initialize(method_symbol)
  @method = method_symbol
  @interceptors = []
end

Instance Method Details

#and(interceptor) ⇒ Object



13
14
15
# File 'lib/spank/interceptor_registration.rb', line 13

def and(interceptor)
  with(interceptor)
end

#intercept(instance) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/spank/interceptor_registration.rb', line 17

def intercept(instance)
  proxy = Proxy.new(instance)
  @interceptors.each do |interceptor|
    proxy.add_interceptor(@method, interceptor)
  end
  proxy
end

#with(interceptor) ⇒ Object



8
9
10
11
# File 'lib/spank/interceptor_registration.rb', line 8

def with(interceptor)
  @interceptors.push(interceptor)
  self
end