Sha256: c0f06cecf64a2dc12ee2555c45b6848578bc20903d1bcbdc71bfdf97189622e4

Contents?: true

Size: 945 Bytes

Versions: 2

Compression:

Stored size: 945 Bytes

Contents

# frozen_string_literal: true

module EveOnline
  module ESI
    class CharacterSkills < Base
      API_PATH = "/v4/characters/%<character_id>s/skills/"

      attr_reader :character_id

      def initialize(options)
        super

        @character_id = options.fetch(:character_id)
      end

      def as_json
        {
          total_sp: total_sp,
          unallocated_sp: unallocated_sp,
        }
      end

      def skills
        @skills ||=
          begin
            output = []
            response.fetch("skills").each do |skill|
              output << Models::Skill.new(skill)
            end
            output
          end
      end

      def total_sp
        response["total_sp"]
      end

      def unallocated_sp
        response["unallocated_sp"]
      end

      def scope
        "esi-skills.read_skills.v1"
      end

      def path
        format(API_PATH, character_id: character_id)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
eve_online-0.31.0 lib/eve_online/esi/character_skills.rb
eve_online-0.30.0 lib/eve_online/esi/character_skills.rb