class MinecraftAuth::Account

Attributes

access_token[R]
client_token[R]
password[R]
profiles[R]
username[R]

Public Class Methods

new(username, password) click to toggle source
# File lib/minecraft_auth.rb, line 32
  def initialize(username, password)
    @username = username
    @password = password

    response = HTTParty.post("#{PROTOCOL}#{BASE_URL}#{ENDPOINT}",
      :body => {
        :"agent" => {
          :"name" => "Minecraft",
          :"version" => 1
          },
          :"username" => "#{@username}",
          :"password" => "#{@password}"
          }.to_json,
          :headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json'}
          )
    # No Error
    if not response['error']
      @access_token = response['accessToken']
      @client_token = response['clientToken']
      raw_profiles = response['availableProfiles']
      raw_selected = response['selectedProfile']
      @profiles = Array.new
      raw_profiles.each do |profile|
        selected = raw_selected['name'] == profile['name'] and raw_selected['id'] == profile['id']
        @profiles << Profile.new(profile['name'], profile['id'], selected)
      end
    # Error in response
  else
    raise AccountError, response["errorMessage"]
  end
end