Sha256: 3e518f160ea155ee872a5f01e7fa949a4db80fc2a2c4c9e6577ec28c296bb224

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

require_relative "../base_item"

module Greeve
  module Character
    # Character standings (does not take character skills into account).
    #
    # @see https://eveonline-third-party-documentation.readthedocs.io/en/latest/xmlapi/character/char_standings.html
    class Standings < Greeve::BaseItem
      endpoint "char/Standings"

      rowset :agents, xpath: "eveapi/result/characterNPCStandings/rowset[@name='agents']" do
        attribute :from_id,   xpath: "@fromID",   type: :integer
        attribute :from_name, xpath: "@fromName", type: :string
        attribute :standing,  xpath: "@standing", type: :numeric
      end

      rowset :npc_corporations, xpath: "eveapi/result/characterNPCStandings/rowset[@name='NPCCorporations']" do
        attribute :from_id,   xpath: "@fromID",   type: :integer
        attribute :from_name, xpath: "@fromName", type: :string
        attribute :standing,  xpath: "@standing", type: :numeric
      end

      rowset :factions, xpath: "eveapi/result/characterNPCStandings/rowset[@name='factions']" do
        attribute :from_id,   xpath: "@fromID",   type: :integer
        attribute :from_name, xpath: "@fromName", type: :string
        attribute :standing,  xpath: "@standing", type: :numeric
      end

      # @param character_id [Integer] EVE character ID
      def initialize(character_id, opts = {})
        opts[:query_params] = { "characterID" => character_id }
        super(opts)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
greeve-1.0.0 lib/greeve/character/standings.rb