class NinjaLog::NinjaLogDev
Public Class Methods
new(email, id, secret)
click to toggle source
# File lib/ninjalog.rb, line 14 def initialize(email, id, secret) @headers = { 'Accept' => 'application/json' } response = Unirest.post 'https://www.ninjalog.io/api/v1/auth/token', headers: @headers, parameters: { :email => email, :client_id => id } decoded = decode(response.body, secret) @headers.update({ 'Authorization' => "Bearer #{decoded['auth_token']}" }) end
Public Instance Methods
close()
click to toggle source
# File lib/ninjalog.rb, line 38 def close #LoggerDevice requires implementing write/close methods end
decode(token, secret)
click to toggle source
# File lib/ninjalog.rb, line 42 def decode(token, secret) decoded = JWT.decode(token, secret) return decoded[0] unless decoded[0].nil? raise JWT::DecodeError, 'Attempt to decode invalid token' end
write(message)
click to toggle source
# File lib/ninjalog.rb, line 28 def write(message) Unirest.post 'https://www.ninjalog.io/api/v1/log', headers: @headers, parameters: { :message => message } { |response| #async request block } end