Class: Layer::Resources::Block

Inherits:
Layer::Resource show all
Defined in:
lib/layer/resources/block.rb

Instance Attribute Summary

Attributes inherited from Layer::Resource

#attributes, #client

Class Method Summary collapse

Methods inherited from Layer::Resource

class_name, #destroy, #initialize, #inspect, #method_missing, pluralized_name, #respond_to_missing?, #update, url, #uuid

Constructor Details

This class inherits a constructor from Layer::Resource

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