Class: Restfulie::Client::StackNavigator
- Inherits:
-
Object
- Object
- Restfulie::Client::StackNavigator
- Defined in:
- lib/restfulie/client/stack_navigator.rb
Instance Method Summary collapse
- #continue(request, env) ⇒ Object
- #dup ⇒ Object
-
#initialize(stack) ⇒ StackNavigator
constructor
A new instance of StackNavigator.
- #instantiator ⇒ Object
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 |
#dup ⇒ Object
23 24 25 |
# File 'lib/restfulie/client/stack_navigator.rb', line 23 def dup StackNavigator.new(@stack) end |
#instantiator ⇒ Object
19 20 21 |
# File 'lib/restfulie/client/stack_navigator.rb', line 19 def instantiator BasicInstantiator.new end |