Sha256: 7fc3153b526be4476566ead804427b8e9f963f4f8a505a7f78703d7b53f32b05

Contents?: true

Size: 1.28 KB

Versions: 3

Compression:

Stored size: 1.28 KB

Contents

# frozen_string_literal: true

module EveOnline
  module ESI
    class CharacterClones < Base
      API_ENDPOINT = 'https://esi.evetech.net/v3/characters/%<character_id>s/clones/?datasource=%<datasource>s'

      attr_reader :character_id

      def initialize(options)
        super

        @character_id = options.fetch(:character_id)
      end

      def home_location
        @home_location ||= Models::HomeLocation.new(response['home_location'])
      end

      def jump_clones
        @jump_clones ||=
          begin
            output = []
            response['jump_clones'].each do |jump_clone|
              output << Models::JumpClone.new(jump_clone)
            end
            output
          end
      end

      def last_clone_jump_date
        last_clone_jump_date = response['last_clone_jump_date']

        parse_datetime_with_timezone(last_clone_jump_date) if last_clone_jump_date
      end

      def last_station_change_date
        last_station_change_date = response['last_station_change_date']

        parse_datetime_with_timezone(last_station_change_date) if last_station_change_date
      end

      def scope
        'esi-clones.read_clones.v1'
      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.23.0 lib/eve_online/esi/character_clones.rb
eve_online-0.22.0 lib/eve_online/esi/character_clones.rb
eve_online-0.21.0 lib/eve_online/esi/character_clones.rb