Class: Layer::Resources::Block
Instance Attribute Summary
#attributes, #client
Class Method Summary
collapse
class_name, #destroy, #initialize, #inspect, #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(client, url, params = {}) ⇒ Object
21
22
23
24
25
26
|
# File 'lib/layer/resources/block.rb', line 21
def self.create(client, 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], client)
end
|
.find(client, url, user) ⇒ Object
4
5
6
7
|
# File 'lib/layer/resources/block.rb', line 4
def self.find(client, url, user)
user_id = user.instance_of?(User) ? user.id : user
new_abstract_instance(url, user_id, client)
end
|
.list(client, url, params = {}) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/layer/resources/block.rb', line 9
def self.list(client, url, params = {})
collection = client.get(url, body: params.to_json)
if collection.any?
collection.map do |resource|
new_abstract_instance(url, resource['user_id'], client)
end
else
[]
end
end
|
.new_abstract_instance(url, id, client) ⇒ Object
28
29
30
|
# File 'lib/layer/resources/block.rb', line 28
def self.new_abstract_instance(url, id, client)
new({"id" => id, "url" => "#{url}/#{id}"}, client)
end
|