Class: MyTargetApi::Resource

Inherits:
Object
  • Object
show all
Defined in:
lib/my_target_api/resource.rb

Overview

Reflects api resource

Instance Method Summary collapse

Constructor Details

#initialize(api, path) ⇒ Resource

Returns a new instance of Resource.



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

def initialize(api, path)
  @api = api
  @path = path
end

Instance Method Details

#create(params = {}) ⇒ Object



12
13
14
15
16
# File 'lib/my_target_api/resource.rb', line 12

def create(params = {})
  with_prepared_params(params) do |prepared|
    api.post_request("#{path}.json", prepared)
  end
end

#delete(params = {}) ⇒ Object



34
35
36
37
38
# File 'lib/my_target_api/resource.rb', line 34

def delete(params = {})
  with_id_and_prepared_params(params, assert_id_existence: true) do |id, prepared|
    api.delete_request("#{path}/#{id}.json", prepared)
  end
end

#read(params = {}) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/my_target_api/resource.rb', line 18

def read(params = {})
  with_id_and_prepared_params(params) do |id, prepared|
    if id
      api.get_request("#{path}/#{id}.json", prepared)
    else
      api.get_request("#{path}.json", prepared)
    end
  end
end

#resource(relative_path) ⇒ Object



46
47
48
# File 'lib/my_target_api/resource.rb', line 46

def resource(relative_path)
  MyTargetApi::Resource.new(api, "#{path}/#{relative_path}")
end

#update(params = {}) ⇒ Object



28
29
30
31
32
# File 'lib/my_target_api/resource.rb', line 28

def update(params = {})
  with_id_and_prepared_params(params, assert_id_existence: true) do |id, prepared|
    api.post_request("#{path}/#{id}.json", prepared)
  end
end

#upload(content, params = {}) ⇒ Object



40
41
42
43
44
# File 'lib/my_target_api/resource.rb', line 40

def upload(content, params = {})
  with_prepared_params(params) do |prepared|
    api.upload_request("#{path}.json", content, prepared)
  end
end