Class: Mailosaur::Devices
- Inherits:
-
Object
- Object
- Mailosaur::Devices
- Defined in:
- lib/Mailosaur/devices.rb
Instance Attribute Summary collapse
-
#conn ⇒ Connection
readonly
The client connection.
Instance Method Summary collapse
-
#create(device_create_options) ⇒ Device
Create a device.
-
#delete(id) ⇒ Object
Delete a device.
-
#initialize(conn, handle_http_error) ⇒ Devices
constructor
Creates and initializes a new instance of the Devices class.
-
#list ⇒ DeviceListResult
List all devices.
-
#otp(query) ⇒ OtpResult
Retrieve OTP.
Constructor Details
#initialize(conn, handle_http_error) ⇒ Devices
Creates and initializes a new instance of the Devices class.
7 8 9 10 |
# File 'lib/Mailosaur/devices.rb', line 7 def initialize(conn, handle_http_error) @conn = conn @handle_http_error = handle_http_error end |
Instance Attribute Details
#conn ⇒ Connection (readonly)
Returns the client connection.
13 14 15 |
# File 'lib/Mailosaur/devices.rb', line 13 def conn @conn end |
Instance Method Details
#create(device_create_options) ⇒ Device
Create a device
Creates a new virtual security device and returns it.
38 39 40 41 42 43 |
# File 'lib/Mailosaur/devices.rb', line 38 def create() response = conn.post 'api/devices', .to_json @handle_http_error.call(response) unless response.status == 200 model = JSON.parse(response.body) Mailosaur::Models::Device.new(model) end |
#delete(id) ⇒ Object
Delete a device
Permanently deletes a device. This operation cannot be undone.
77 78 79 80 81 |
# File 'lib/Mailosaur/devices.rb', line 77 def delete(id) response = conn.delete "api/devices/#{id}" @handle_http_error.call(response) unless response.status == 204 nil end |
#list ⇒ DeviceListResult
List all devices
Returns a list of your virtual security devices.
22 23 24 25 26 27 |
# File 'lib/Mailosaur/devices.rb', line 22 def list response = conn.get 'api/devices' @handle_http_error.call(response) unless response.status == 200 model = JSON.parse(response.body) Mailosaur::Models::DeviceListResult.new(model) end |
#otp(query) ⇒ OtpResult
Retrieve OTP
Retrieves the current one-time password for a saved device, or given base32-encoded shared secret.
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/Mailosaur/devices.rb', line 54 def otp(query) if query.include? '-' response = conn.get "api/devices/#{query}/otp" @handle_http_error.call(response) unless response.status == 200 model = JSON.parse(response.body) return Mailosaur::Models::OtpResult.new(model) end = Mailosaur::Models::DeviceCreateOptions.new .shared_secret = query response = conn.post 'api/devices/otp', .to_json @handle_http_error.call(response) unless response.status == 200 model = JSON.parse(response.body) Mailosaur::Models::OtpResult.new(model) end |