class Rester::Client::Resource
Attributes
client[R]
path[R]
Public Class Methods
new(client, path='')
click to toggle source
# File lib/rester/client/resource.rb, line 7 def initialize(client, path='') @client = client @path = path end
Public Instance Methods
delete(params={})
click to toggle source
# File lib/rester/client/resource.rb, line 20 def delete(params={}) _request(:delete, '', params) end
get(params={})
click to toggle source
# File lib/rester/client/resource.rb, line 12 def get(params={}) _request(:get, '', params) end
update(params={})
click to toggle source
# File lib/rester/client/resource.rb, line 16 def update(params={}) _request(:put, '', params) end
Private Instance Methods
_handle_search_or_create(name, params)
click to toggle source
# File lib/rester/client/resource.rb, line 48 def _handle_search_or_create(name, params) verb, name = Utils.extract_method_verb(name) _request(verb, name, params) end
_path(*args)
click to toggle source
# File lib/rester/client/resource.rb, line 44 def _path(*args) Utils.join_paths(path, *args) end
_request(verb, path, params={})
click to toggle source
# File lib/rester/client/resource.rb, line 40 def _request(verb, path, params={}) client.request(verb, _path(path), params) end
method_missing(meth, *args, &block)
click to toggle source
# File lib/rester/client/resource.rb, line 26 def method_missing(meth, *args, &block) meth = meth.to_s arg = args.first case arg when Hash, NilClass _handle_search_or_create(meth, arg || {}) when String, Symbol Resource.new(client, _path(meth, arg)) else raise ArgumentError, "invalid argument type #{arg.inspect}" end end