Class: Maestrano::Connec::Client
- Inherits:
-
Object
- Object
- Maestrano::Connec::Client
- Includes:
- HTTParty
- Defined in:
- lib/maestrano/connec/client.rb
Instance Attribute Summary collapse
-
#group_id ⇒ Object
readonly
Returns the value of attribute group_id.
Instance Method Summary collapse
-
#default_options ⇒ Object
Return the default options which includes maestrano authentication.
-
#get(relative_path, options = {}) ⇒ Object
E.g: client.get(‘/organizations’) E.g: client.get(‘/organizations/123’).
-
#initialize(group_id) ⇒ Client
constructor
A new instance of Client.
-
#post(relative_path, body, options = {}) ⇒ Object
E.g: client.post(‘/organizations’, { organizations: { name: ‘DoeCorp Inc.’ } }).
-
#put(relative_path, body, options = {}) ⇒ Object
E.g for collection: => client.put(‘/organizations/123’, { organizations: { name: ‘DoeCorp Inc.’ } }) E.g for singular resource: => client.put(‘/company’, { company: { name: ‘DoeCorp Inc.’ } }).
-
#scoped_path(relative_path) ⇒ Object
Return the right path scoped using the customer group id.
Constructor Details
Instance Attribute Details
#group_id ⇒ Object (readonly)
Returns the value of attribute group_id.
12 13 14 |
# File 'lib/maestrano/connec/client.rb', line 12 def group_id @group_id end |
Instance Method Details
#default_options ⇒ Object
Return the default options which includes maestrano authentication
21 22 23 24 25 26 27 28 |
# File 'lib/maestrano/connec/client.rb', line 21 def { basic_auth: { username: Maestrano.param('api.id'), password: Maestrano.param('api.key') } } end |
#get(relative_path, options = {}) ⇒ Object
E.g: client.get(‘/organizations’) E.g: client.get(‘/organizations/123’)
39 40 41 |
# File 'lib/maestrano/connec/client.rb', line 39 def get(relative_path, = {}) self.class.get(self.scoped_path(relative_path),.merge()) end |
#post(relative_path, body, options = {}) ⇒ Object
E.g: client.post(‘/organizations’, { organizations: { name: ‘DoeCorp Inc.’ } })
44 45 46 47 48 |
# File 'lib/maestrano/connec/client.rb', line 44 def post(relative_path, body, = {}) self.class.post(self.scoped_path(relative_path), .merge(body: body.to_json).merge() ) end |
#put(relative_path, body, options = {}) ⇒ Object
E.g for collection:
> client.put(‘/organizations/123’, { organizations: { name: ‘DoeCorp Inc.’ } })
E.g for singular resource:
> client.put(‘/company’, { company: { name: ‘DoeCorp Inc.’ } })
54 55 56 57 58 |
# File 'lib/maestrano/connec/client.rb', line 54 def put(relative_path, body, = {}) self.class.put(self.scoped_path(relative_path), .merge(body: body.to_json).merge() ) end |
#scoped_path(relative_path) ⇒ Object
Return the right path scoped using the customer group id
32 33 34 35 |
# File 'lib/maestrano/connec/client.rb', line 32 def scoped_path(relative_path) clean_path = relative_path.gsub(/^\/+/, "").gsub(/\/+$/, "") "/#{@group_id}/#{clean_path}" end |