Sha256: 226f17d89ed9eb3f47a6465040ebb201c1be56be2ed0b7bba0cabadc7543cd5d

Contents?: true

Size: 1.1 KB

Versions: 2

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

require 'forwardable'

module EveOnline
  module ESI
    class DogmaEffect < Base
      extend Forwardable

      API_ENDPOINT = 'https://esi.evetech.net/v2/dogma/effects/%<effect_id>s/?datasource=%<datasource>s'

      attr_reader :id

      def initialize(options)
        super

        @id = options.fetch(:id)
      end

      def_delegators :model, :as_json, :description, :disallow_auto_repeat,
                     :discharge_attribute_id, :display_name,
                     :duration_attribute_id, :effect_category, :effect_id,
                     :electronic_chance, :falloff_attribute_id, :icon_id,
                     :is_assistance, :is_offensive, :is_warp_safe,
                     :name, :post_expression, :pre_expression, :published,
                     :range_attribute_id, :range_chance,
                     :tracking_speed_attribute_id, :modifiers

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

      def scope; end

      def url
        format(API_ENDPOINT, effect_id: id, datasource: datasource)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
eve_online-0.20.0 lib/eve_online/esi/dogma_effect.rb
eve_online-0.19.0 lib/eve_online/esi/dogma_effect.rb