Class: Doshii::Resource

Inherits:
Object
  • Object
show all
Includes:
Connection
Defined in:
lib/doshii/resource.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url, options = {}) ⇒ Resource

Returns a new instance of Resource.



11
12
13
14
15
16
17
# File 'lib/doshii/resource.rb', line 11

def initialize(url, options = {})
  @url = url
  merged_options = Doshii.options.merge(options)
  Configuration::VALID_CONFIG_KEYS.each do |key|
    send("#{key}=", merged_options[key])
  end
end

Instance Attribute Details

#url=(value) ⇒ Object (writeonly)

Sets the attribute url

Parameters:

  • value

    the value to set the attribute url to.



8
9
10
# File 'lib/doshii/resource.rb', line 8

def url=(value)
  @url = value
end

Instance Method Details

#allObject



19
20
21
# File 'lib/doshii/resource.rb', line 19

def all
  process_response(request :get, @url)
end

#create(id = nil, query = {}, &block) ⇒ Object



23
24
25
26
# File 'lib/doshii/resource.rb', line 23

def create(id = nil, query = {}, &block)
  url = id.nil? ? @url : "#{@url}/#{id}"
  process_response(request :post, url, query, &block)
end

#delete(id) ⇒ Object



28
29
30
# File 'lib/doshii/resource.rb', line 28

def delete(id)
  process_response(request :delete, "#{@url}/#{id}")
end

#find(id) ⇒ Object



32
33
34
# File 'lib/doshii/resource.rb', line 32

def find(id)
  process_response(request :get, "#{@url}/#{id}")
end

#update(id, query = {}, &block) ⇒ Object



36
37
38
# File 'lib/doshii/resource.rb', line 36

def update(id, query = {}, &block)
  process_response(request :put, "#{@url}/#{id}", query, &block)
end