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