Sha256: 9d26eae6a2cf5d3956628851e97cefec2ecd768ac29181414105af9423a03396

Contents?: true

Size: 980 Bytes

Versions: 1

Compression:

Stored size: 980 Bytes

Contents

module EVEApi
  # Alliance CREST object
  class Alliance
    BASE_URI = 'https://public-crest.eveonline.com/alliances/'

    attr_accessor :href
    attr_accessor :id_str
    attr_accessor :short_name
    attr_accessor :name
    attr_accessor :id
    attr_accessor :info

    def initialize(args)
      case args
      when String, Fixnum
        @id = args.to_i
        @href = BASE_URI + id.to_s + '/'
      when Hash
        @href = args[:href]
        @short_name = args[:short_name]
        @name = args[:name]
        @id = args[:id]
      end
    end

    def info
      @info ||= convert_hash_keys json_get(href)
    end

    def corporations
      info[:corporations]
    end

    def find
      @short_name = info[:short_name]
      @name = info[:name]
      self
    end

    def to_h
      h = {}
      instance_variables.each do |var|
        name = var.to_s.gsub(/^@/, '').to_sym
        value = send name
        h[name] = value
      end
      h
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
eveapi-0.1.2 lib/eveapi/alliance.rb