Class: Restfulie::Client::StackNavigator

Inherits:
Object
  • Object
show all
Defined in:
lib/restfulie/client/stack_navigator.rb

Instance Method Summary collapse

Constructor Details

#initialize(stack) ⇒ StackNavigator

Returns a new instance of StackNavigator.



5
6
7
# File 'lib/restfulie/client/stack_navigator.rb', line 5

def initialize(stack)
  @stack = stack.dup
end

Instance Method Details

#continue(request, env) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/restfulie/client/stack_navigator.rb', line 9

def continue(request, env)
  current = @stack.pop
  if current.nil?
    return nil
  end
  filter = instantiator.new(current[:type], current[:args])
  Restfulie::Common::Logger.logger.debug "invoking filter #{filter.class.name} with #{request} at #{env}"
  filter.execute(self.dup, request, env)
end

#dupObject



23
24
25
# File 'lib/restfulie/client/stack_navigator.rb', line 23

def dup
  StackNavigator.new(@stack)
end

#instantiatorObject



19
20
21
# File 'lib/restfulie/client/stack_navigator.rb', line 19

def instantiator
  BasicInstantiator.new
end