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