Class: MokiAPI
Constant Summary collapse
- BASE_URL =
'/rest/v1/api/tenants/'
Class Method Summary collapse
- .device_managed_app_list(device_id) ⇒ Object
- .device_profile_list(device_id) ⇒ Object
- .full_url(path) ⇒ Object
- .ios_profiles ⇒ Object
- .issue_request(method, url, options) ⇒ Object
Instance Method Summary collapse
Class Method Details
.device_managed_app_list(device_id) ⇒ Object
26 27 28 29 30 31 32 33 34 |
# File 'lib/moki_api.rb', line 26 def self.device_managed_app_list(device_id) if DeviceIdentifier.is_udid?(device_id) issue_request(:get, full_url("/devices/#{ device_id }/managedapps"), {}) elsif DeviceIdentifier.is_serial?(device_id) issue_request(:get, full_url("/devices/sn-!-#{ device_id }/managedapps"), {}) else raise "Must pass a serial number or UDID to get device profile list" end end |
.device_profile_list(device_id) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/moki_api.rb', line 16 def self.device_profile_list(device_id) if DeviceIdentifier.is_udid?(device_id) issue_request(:get, full_url("/devices/#{ device_id }/profiles"), {}) elsif DeviceIdentifier.is_serial?(device_id) issue_request(:get, full_url("/devices/sn-!-#{ device_id }/profiles"), {}) else raise "Must pass a serial number or UDID to get device profile list" end end |
.full_url(path) ⇒ Object
36 37 38 39 40 41 |
# File 'lib/moki_api.rb', line 36 def self.full_url(path) raise "No Moki URL Provided. Set ENV['MOKI_API_URL']." if ENV['MOKI_API_URL'].nil? || ENV['MOKI_API_URL'].empty? raise "No Tenant ID Provided. Set ENV['MOKI_TENANT_ID']." if ENV['MOKI_TENANT_ID'].nil? || ENV['MOKI_TENANT_ID'].empty? ENV['MOKI_API_URL'] + BASE_URL + ENV['MOKI_TENANT_ID'] + path end |
.ios_profiles ⇒ Object
12 13 14 |
# File 'lib/moki_api.rb', line 12 def self.ios_profiles issue_request(:get, full_url('/iosprofiles'), {}) end |
.issue_request(method, url, options) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/moki_api.rb', line 43 def self.issue_request(method, url, ) raise "No API Key Provided. Set ENV['MOKI_API_KEY']." if ENV['MOKI_API_KEY'].nil? || ENV['MOKI_API_KEY'].empty? future = Celluloid::Future.new do begin log_request(method, url) response = conn.send(method, url, ) do |request| request.headers = request.headers.merge(headers) end to_return_type response rescue => e Honeybadger.notify(e, context: { method: method, url: url, options: , response_status: response.try(:status), response_body: response.try(:body) }) if defined?(Honeybadger) raise e end end future.extend(FutureWrapper) end |
Instance Method Details
#issue_request(method, url, options) ⇒ Object
65 66 67 |
# File 'lib/moki_api.rb', line 65 def issue_request(method, url, ) self.class.issue_request(method, url, ) end |