class NeptunesPride::Client
Class responsible for API calls
Attributes
password[R]
username[R]
Public Class Methods
new(username: nil, password: nil, cookie: nil)
click to toggle source
# File lib/neptunes_pride/client.rb, line 11 def initialize(username: nil, password: nil, cookie: nil) @cookie = cookie @password = password @username = username end
Public Instance Methods
authenticate!()
click to toggle source
# File lib/neptunes_pride/client.rb, line 17 def authenticate! # rubocop:disable Metrics/MethodLength, Metrics/AbcSize url = URI('https://np.ironhelmet.com/arequest/login') https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request['Content-Type'] = 'application/x-www-form-urlencoded' request.body = URI.encode_www_form(alias: username, password: password, type: 'login') response = https.request(request) body = JSON.parse(response.read_body) raise NeptunesPride::ApiError, body[1] if body[0] == 'meta:error' @cookie = response['Set-Cookie'] end
full_universe_report(game_number)
click to toggle source
# File lib/neptunes_pride/client.rb, line 37 def full_universe_report(game_number) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize raise NeptunesPride::NotAuthenticated unless authenticated? url = URI('https://np.ironhelmet.com/trequest/order') https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request['Content-Type'] = 'application/x-www-form-urlencoded' request['Cookie'] = cookie request.body = URI.encode_www_form(game_number: game_number.to_s, order: 'full_universe_report', type: 'order') response = https.request(request) @cookie = response['Set-Cookie'] JSON.parse(response.read_body) end
Private Instance Methods
authenticated?()
click to toggle source
# File lib/neptunes_pride/client.rb, line 61 def authenticated? !cookie.nil? end