Class: ThreeScale::API::Client
- Inherits:
-
Object
- Object
- ThreeScale::API::Client
- Defined in:
- lib/3scale/api/client.rb
Instance Attribute Summary collapse
-
#http_client ⇒ Object
readonly
Returns the value of attribute http_client.
Instance Method Summary collapse
- #create_application_plan(service_id, attributes) ⇒ Hash
- #create_application_plan_limit(application_plan_id, metric_id, attributes) ⇒ Hash
- #create_method(service_id, metric_id, attributes) ⇒ Hash
- #create_metric(service_id, attributes) ⇒ Hash
- #create_service(attributes) ⇒ Hash
- #delete_application_plan_limit(application_plan_id, metric_id, limit_id) ⇒ Object
-
#initialize(http_client) ⇒ Client
constructor
A new instance of Client.
- #list_application_plan_limits(application_plan_id) ⇒ Array<Hash>
- #list_methods(service_id, metric_id) ⇒ Array<Hash>
- #list_metrics(service_id) ⇒ Array<Hash>
- #list_service_application_plans(service_id) ⇒ Array<Hash>
- #list_services ⇒ Array<Hash>
- #show_service(id) ⇒ Hash
Constructor Details
#initialize(http_client) ⇒ Client
Returns a new instance of Client.
9 10 11 |
# File 'lib/3scale/api/client.rb', line 9 def initialize(http_client) @http_client = http_client end |
Instance Attribute Details
#http_client ⇒ Object (readonly)
Returns the value of attribute http_client.
5 6 7 |
# File 'lib/3scale/api/client.rb', line 5 def http_client @http_client end |
Instance Method Details
#create_application_plan(service_id, attributes) ⇒ Hash
90 91 92 93 94 |
# File 'lib/3scale/api/client.rb', line 90 def create_application_plan(service_id, attributes) response = http_client.post("/admin/api/services/#{service_id}/application_plans", body: { application_plan: attributes }) extract(entity: 'application_plan', from: response) end |
#create_application_plan_limit(application_plan_id, metric_id, attributes) ⇒ Hash
112 113 114 115 116 |
# File 'lib/3scale/api/client.rb', line 112 def create_application_plan_limit(application_plan_id, metric_id, attributes) response = http_client.post("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/limits", body: { usage_limit: attributes }) extract(entity: 'limit', from: response) end |
#create_method(service_id, metric_id, attributes) ⇒ Hash
70 71 72 73 74 |
# File 'lib/3scale/api/client.rb', line 70 def create_method(service_id, metric_id, attributes) response = http_client.post("/admin/api/services/#{service_id}/metrics/#{metric_id}/methods", body: { metric: attributes }) extract(entity: 'method', from: response) end |
#create_metric(service_id, attributes) ⇒ Hash
50 51 52 53 |
# File 'lib/3scale/api/client.rb', line 50 def create_metric(service_id, attributes) response = http_client.post("/admin/api/services/#{service_id}/metrics", body: { metric: attributes }) extract(entity: 'metric', from: response) end |
#create_service(attributes) ⇒ Hash
32 33 34 35 |
# File 'lib/3scale/api/client.rb', line 32 def create_service(attributes) response = http_client.post('/admin/api/services', body: { service: attributes }) extract(entity: 'service', from: response) end |
#delete_application_plan_limit(application_plan_id, metric_id, limit_id) ⇒ Object
121 122 123 124 |
# File 'lib/3scale/api/client.rb', line 121 def delete_application_plan_limit(application_plan_id, metric_id, limit_id) http_client.delete("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/limits/#{limit_id}") true end |
#list_application_plan_limits(application_plan_id) ⇒ Array<Hash>
99 100 101 102 103 |
# File 'lib/3scale/api/client.rb', line 99 def list_application_plan_limits(application_plan_id) response = http_client.get("/admin/api/application_plans/#{application_plan_id}/limits") extract(collection: 'limits', entity: 'limit', from: response) end |
#list_methods(service_id, metric_id) ⇒ Array<Hash>
59 60 61 62 |
# File 'lib/3scale/api/client.rb', line 59 def list_methods(service_id, metric_id) response = http_client.get("/admin/api/services/#{service_id}/metrics/#{metric_id}/methods") extract(collection: 'methods', entity: 'method', from: response) end |
#list_metrics(service_id) ⇒ Array<Hash>
40 41 42 43 |
# File 'lib/3scale/api/client.rb', line 40 def list_metrics(service_id) response = http_client.get("/admin/api/services/#{service_id}/metrics") extract(collection: 'metrics', entity: 'metric', from: response) end |
#list_service_application_plans(service_id) ⇒ Array<Hash>
79 80 81 82 83 |
# File 'lib/3scale/api/client.rb', line 79 def list_service_application_plans(service_id) response = http_client.get("/admin/api/services/#{service_id}/application_plans") extract(collection: 'plans', entity: 'application_plan', from: response) end |
#list_services ⇒ Array<Hash>
23 24 25 26 |
# File 'lib/3scale/api/client.rb', line 23 def list_services response = http_client.get('/admin/api/services') extract(collection: 'services', entity: 'service', from: response) end |
#show_service(id) ⇒ Hash
16 17 18 19 |
# File 'lib/3scale/api/client.rb', line 16 def show_service(id) response = http_client.get("/admin/api/services/#{id}") extract(entity: 'service', from: response) end |