Class: Layer::Resources::Block
Instance Attribute Summary
#attributes, #client
Class Method Summary
collapse
class_name, client, #destroy, #initialize, #method_missing, pluralized_name, #respond_to_missing?, #update, url, #uuid
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Layer::Resource
Class Method Details
.create(url, params = {}) ⇒ Object
19
20
21
22
23
24
|
# File 'lib/layer/resources/block.rb', line 19
def self.create(url, params = {})
user_params = params.instance_of?(User) ? {user_id: params.id} : params
client.post(url, body: user_params.to_json)
new_abstract_instance(url, user_params[:user_id])
end
|
.find(url, user) ⇒ Object
4
5
6
7
|
# File 'lib/layer/resources/block.rb', line 4
def self.find(url, user)
user_id = user.instance_of?(User) ? user.id : user
new_abstract_instance(url, user_id)
end
|
.list(url, params = {}) ⇒ Object
9
10
11
12
13
14
15
16
17
|
# File 'lib/layer/resources/block.rb', line 9
def self.list(url, params = {})
collection = client.get(url, body: params.to_json)
if collection.any?
collection.map{ |resource| new_abstract_instance(url, resource['user_id']) }
else
[]
end
end
|
.new_abstract_instance(url, id) ⇒ Object
26
27
28
|
# File 'lib/layer/resources/block.rb', line 26
def self.new_abstract_instance(url, id)
new({"id" => id, "url" => "#{url}/#{id}"})
end
|