Class: Locaweb::Emailmarketing::BaseClient
- Inherits:
-
Object
- Object
- Locaweb::Emailmarketing::BaseClient
show all
- Defined in:
- lib/locaweb-emailmarketing/clients/base_client.rb
Instance Method Summary
collapse
Constructor Details
#initialize(http_request_adapter, account_id) ⇒ BaseClient
Returns a new instance of BaseClient.
4
5
6
7
8
9
10
|
# File 'lib/locaweb-emailmarketing/clients/base_client.rb', line 4
def initialize(http_request_adapter, account_id)
@http_request_adapter = http_request_adapter
@account_id = account_id
@resource_name = nil
@required_keys_to_update = {optional: [], required: []}
@required_keys_to_create = {optional: [], required: []}
end
|
Instance Method Details
#all(page = 1) ⇒ Object
12
13
14
15
16
|
# File 'lib/locaweb-emailmarketing/clients/base_client.rb', line 12
def all(page=1)
url = "accounts/#{@account_id}/#{@resource_name}"
url = "#{url}?page=#{page}" if page != 1
@http_request_adapter.get url
end
|
#create(attributes) ⇒ Object
22
23
24
25
26
|
# File 'lib/locaweb-emailmarketing/clients/base_client.rb', line 22
def create(attributes)
attributes.assert_required_keys(@required_keys_to_create)
response_json = JSON @http_request_adapter.post "accounts/#{@account_id}/#{@resource_name}", {@resource_name.singularize.to_sym => attributes}
response_json["id"]
end
|
#destroy(id) ⇒ Object
33
34
35
|
# File 'lib/locaweb-emailmarketing/clients/base_client.rb', line 33
def destroy(id)
@http_request_adapter.delete "accounts/#{@account_id}/#{@resource_name}/#{id}"
end
|
#get(id) ⇒ Object
18
19
20
|
# File 'lib/locaweb-emailmarketing/clients/base_client.rb', line 18
def get(id)
@http_request_adapter.get "accounts/#{@account_id}/#{@resource_name}/#{id}"
end
|
#update(id, attributes) ⇒ Object
28
29
30
31
|
# File 'lib/locaweb-emailmarketing/clients/base_client.rb', line 28
def update(id, attributes)
attributes.assert_required_keys(@required_keys_to_update)
@http_request_adapter.put "accounts/#{@account_id}/#{@resource_name}/#{id}", {@resource_name.singularize.to_sym => attributes}
end
|