class RestChain::Link
Attributes
name[R]
predecessor[R]
Public Class Methods
new(name, predecessor=nil, logger=nil)
click to toggle source
# File lib/rest_chain/link.rb, line 5 def initialize(name, predecessor=nil, logger=nil) @name = name @predecessor = predecessor @logger = logger ? logger : log end
Public Instance Methods
delete(parameters={})
click to toggle source
# File lib/rest_chain/link.rb, line 13 def delete(parameters={}) dispatch(:delete, parameters) end
dispatch(verb, parameters={})
click to toggle source
# File lib/rest_chain/link.rb, line 17 def dispatch(verb, parameters={}) driver = HTTPDriverClassFactory.manufacture(log).new(log) driver.send(verb, url, parameters) end
get(parameters={})
click to toggle source
# File lib/rest_chain/link.rb, line 22 def get(parameters={}) dispatch(:get, parameters) end
log()
click to toggle source
# File lib/rest_chain/link.rb, line 26 def log if !@logger @logger = Logger.new(STDOUT) @logger.level = Logger::UNKNOWN end @logger end
Also aliased as: logger
method_missing(name, *arguments, &block)
click to toggle source
# File lib/rest_chain/link.rb, line 35 def method_missing(name, *arguments, &block) arguments.inject(Link.new(name.to_s, self, log)) do |parent, argument| Link.new(argument.to_s, parent, log) end end
patch(parameters={})
click to toggle source
# File lib/rest_chain/link.rb, line 41 def patch(parameters={}) dispatch(:patch, parameters) end
post(parameters={})
click to toggle source
# File lib/rest_chain/link.rb, line 45 def post(parameters={}) dispatch(:post, parameters) end
put(parameters={})
click to toggle source
# File lib/rest_chain/link.rb, line 49 def put(parameters={}) dispatch(:put, parameters) end
respond_to?(name, include_private=false)
click to toggle source
# File lib/rest_chain/link.rb, line 53 def respond_to?(name, include_private=false) true end
url()
click to toggle source
# File lib/rest_chain/link.rb, line 57 def url base = (@predecessor ? @predecessor.url : "") @predecessor ? "#{base}#{base[-1,1] == '/' ? '' : '/'}#{@name}" : "/#{@name}" end