class ChainOfResponsibility::Handler

Attributes

successor[R]

Public Class Methods

new(successor = MissingSuccessor.new) click to toggle source
# File lib/chain_of_responsibility/handler.rb, line 8
def initialize(successor = MissingSuccessor.new)
  @successor = successor
end

Public Instance Methods

applicable?(*) click to toggle source
# File lib/chain_of_responsibility/handler.rb, line 26
def applicable?(*)
  raise MethodNotImplementedError, "applicable?"
end
call(*args) click to toggle source
# File lib/chain_of_responsibility/handler.rb, line 14
def call(*args)
  if applicable?(*args)
    resolve(*args)
  else
    successor.call(*args)
  end
end
resolve(*) click to toggle source
# File lib/chain_of_responsibility/handler.rb, line 22
def resolve(*)
  raise MethodNotImplementedError, "resolve"
end