Sha256: 4b654ca3e0cae16de00fd20d3a5319110fd601d69d9a5a1523d5380f1ab7a0b0

Contents?: true

Size: 738 Bytes

Versions: 17

Compression:

Stored size: 738 Bytes

Contents

class CommandHandlerChainLink
  def initialize(command_handler)
    @command_handler = command_handler
  end
  def chain_to(next_chain_link)
    @next_chain_link = next_chain_link
  end
  def handle(parent, command_symbol, *args, &block)
    if (@command_handler.can_handle?(parent, command_symbol, *args, &block))
      Glimmer.logger.debug "#{@command_handler.class.to_s} will handle command: #{command_symbol} with arguments #{args}"
      return @command_handler.do_handle(parent, command_symbol, *args, &block)
    elsif @next_chain_link
      return @next_chain_link.handle(parent, command_symbol, *args, &block)
    else
      Glimmer.logger.debug "Command: #{command_symbol} cannot be handled!"
      return nil
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
glimmer-0.3.5 lib/command_handler_chain_link.rb
glimmer-0.3.4 lib/command_handler_chain_link.rb
glimmer-0.3.3 lib/command_handler_chain_link.rb
glimmer-0.3.2 lib/command_handler_chain_link.rb
glimmer-0.3.1 lib/command_handler_chain_link.rb
glimmer-0.2.5 lib/command_handler_chain_link.rb
glimmer-0.2.4 lib/command_handler_chain_link.rb
glimmer-0.2.3 lib/command_handler_chain_link.rb
glimmer-0.2.2 lib/command_handler_chain_link.rb
glimmer-0.2.1 lib/command_handler_chain_link.rb
glimmer-0.2.0 lib/command_handler_chain_link.rb
glimmer-0.1.11.SWT4.14 lib/command_handler_chain_link.rb
glimmer-0.1.11.470 lib/command_handler_chain_link.rb
glimmer-0.1.10.470 lib/command_handler_chain_link.rb
glimmer-0.1.9.470 lib/command_handler_chain_link.rb
glimmer-0.1.8.470 lib/command_handler_chain_link.rb
glimmer-0.1.5.470 lib/command_handler_chain_link.rb