lib/restful_resource/base.rb in restful_resource-0.9.7 vs lib/restful_resource/base.rb in restful_resource-0.10.0
- old
+ new
@@ -1,20 +1,20 @@
module RestfulResource
class Base < OpenObject
extend RestfulResource::Associations
- def self.configure(base_url: nil,
- username: nil,
- password: nil,
- logger: nil,
+ def self.configure(base_url: nil,
+ username: nil,
+ password: nil,
+ logger: nil,
cache_store: nil)
@base_url = URI.parse(base_url)
- @http = RestfulResource::HttpClient.new(username: username,
- password: password,
- logger: logger,
+ @http = RestfulResource::HttpClient.new(username: username,
+ password: password,
+ logger: logger,
cache_store: cache_store)
end
def self.resource_path(url)
@resource_path = url
@@ -49,10 +49,11 @@
def self.post(data: {}, **params)
url = collection_url(params)
response = http.post(url, data: data)
+
self.new(parse_json(response.body))
end
def self.all
self.where
@@ -71,11 +72,11 @@
def self.fetch_all!(conditions={})
Enumerator.new do |y|
next_page = 1
begin
resources = self.where(conditions.merge(page: next_page))
- resources.each do |resource|
+ resources.each do |resource|
y << resource
end
next_page = resources.next_page
end while(!next_page.nil?)
end
@@ -93,22 +94,22 @@
end
raise "Base url missing" if result.nil?
result
end
+ def self.collection_url(params)
+ url = merge_url_paths(base_url, @resource_path, @action_prefix)
+ replace_parameters(url, params)
+ end
+
private
def self.merge_url_paths(uri, *paths)
uri.merge(paths.compact.join('/')).to_s
end
def self.member_url(id, params)
raise ResourceIdMissingError if id.blank?
url = merge_url_paths(base_url, @resource_path, CGI.escape(id.to_s), @action_prefix)
- replace_parameters(url, params)
- end
-
- def self.collection_url(params)
- url = merge_url_paths(base_url, @resource_path, @action_prefix)
replace_parameters(url, params)
end
def self.new_collection(json)
json.map do |element|