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, client, #destroy, #initialize, #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(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