Class: ArtemisApi::Subscription
- Defined in:
- lib/artemis_api/subscription.rb
Instance Attribute Summary
Attributes inherited from Model
#attributes, #client, #id, #relationships
Class Method Summary collapse
- .create(facility_id:, subject:, destination:, client:) ⇒ Object
- .delete(id:, facility_id:, client:) ⇒ Object
- .find(id:, facility_id:, client:, include: nil, force: false) ⇒ Object
- .find_all(facility_id:, client:, include: nil, filters: nil) ⇒ Object
Methods inherited from Model
#initialize, instance_for, json_type, #method_missing, related_to_many, related_to_one
Constructor Details
This class inherits a constructor from ArtemisApi::Model
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class ArtemisApi::Model
Class Method Details
.create(facility_id:, subject:, destination:, client:) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/artemis_api/subscription.rb', line 13 def self.create(facility_id:, subject:, destination:, client:) client.oauth_token.refresh! if client.oauth_token.expired? url = "#{client.[:base_uri]}/api/v3/facilities/#{facility_id}/subscriptions" params = { body: { subscription: { subject: subject, destination: destination } } } response = client.oauth_token.post(url, params) response.status == 200 ? client.process_response(response, 'subscriptions') : false end |
.delete(id:, facility_id:, client:) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/artemis_api/subscription.rb', line 24 def self.delete(id:, facility_id:, client:) client.oauth_token.refresh! if client.oauth_token.expired? url = "#{client.[:base_uri]}/api/v3/facilities/#{facility_id}/subscriptions/#{id}" response = client.oauth_token.delete(url) client.remove_record('subscriptions', id) if response.status == 204 end |
.find(id:, facility_id:, client:, include: nil, force: false) ⇒ Object
5 6 7 |
# File 'lib/artemis_api/subscription.rb', line 5 def self.find(id:, facility_id:, client:, include: nil, force: false) client.find_one(self.json_type, id, facility_id: facility_id, include: include, force: force) end |
.find_all(facility_id:, client:, include: nil, filters: nil) ⇒ Object
9 10 11 |
# File 'lib/artemis_api/subscription.rb', line 9 def self.find_all(facility_id:, client:, include: nil, filters: nil) client.find_all(self.json_type, facility_id: facility_id, include: include, filters: filters) end |