Sha256: fed8a8e31b33a4e5ed71ccb73f9d67936ecbd6695a82f271fc88cf16cabfc7a2

Contents?: true

Size: 841 Bytes

Versions: 3

Compression:

Stored size: 841 Bytes

Contents

# frozen_string_literal: true

require 'forwardable'

module EveOnline
  module ESI
    class Character < Base
      extend Forwardable

      API_ENDPOINT = 'https://esi.evetech.net/v4/characters/%<character_id>s/?datasource=%<datasource>s'

      attr_reader :character_id

      def initialize(options)
        super

        @character_id = options.fetch(:character_id)
      end

      def_delegators :model, :as_json, :alliance_id, :ancestry_id, :birthday,
                     :bloodline_id, :corporation_id, :description, :faction_id,
                     :gender, :name, :race_id, :security_status

      def model
        Models::Character.new(response)
      end
      memoize :model

      def scope; end

      def url
        format(API_ENDPOINT, character_id: character_id, datasource: datasource)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
eve_online-0.20.0 lib/eve_online/esi/character.rb
eve_online-0.19.0 lib/eve_online/esi/character.rb
eve_online-0.18.0 lib/eve_online/esi/character.rb