class Doshii::Resource
Attributes
url[W]
Public Class Methods
new(url, options = {})
click to toggle source
# File lib/doshii/resource.rb, line 11 def initialize(url, options = {}) @url = url merged_options = Doshii.options.merge(options) Configuration::VALID_CONFIG_KEYS.each do |key| send("#{key}=", merged_options[key]) end end
Public Instance Methods
all()
click to toggle source
# File lib/doshii/resource.rb, line 19 def all process_response(request :get, @url) end
create(id = nil, query = {}, &block)
click to toggle source
# File lib/doshii/resource.rb, line 23 def create(id = nil, query = {}, &block) url = id.nil? ? @url : "#{@url}/#{id}" process_response(request :post, url, query, &block) end
delete(id)
click to toggle source
# File lib/doshii/resource.rb, line 28 def delete(id) process_response(request :delete, "#{@url}/#{id}") end
find(id)
click to toggle source
# File lib/doshii/resource.rb, line 32 def find(id) process_response(request :get, "#{@url}/#{id}") end
update(id, query = {}, &block)
click to toggle source
# File lib/doshii/resource.rb, line 36 def update(id, query = {}, &block) process_response(request :put, "#{@url}/#{id}", query, &block) end
Private Instance Methods
process_response(res)
click to toggle source
# File lib/doshii/resource.rb, line 42 def process_response(res) return res if (res.status != 200 && res.body.blank?) || res.status == 404 return res.body.collect { |r| Doshii::Response[r] } if res.body.is_a? Array body = Doshii::Response[res.body] end