Sha256: 23adc7e592a5e7384347ec86e348a74b53d65b8bdd0947faf01b9dc670c3ea01

Contents?: true

Size: 788 Bytes

Versions: 6

Compression:

Stored size: 788 Bytes

Contents

require 'nori'
require 'active_support/time'

module EveOnline
  class BaseXML < Base
    attr_reader :parser

    def initialize
      @parser = Nori.new(advanced_typecasting: false)
    end

    def result
      eveapi.fetch('result')
    end
    memoize :result

    def cached_until
      parse_datetime_with_timezone(eveapi.fetch('cachedUntil'))
    end
    memoize :cached_until

    def current_time
      parse_datetime_with_timezone(eveapi.fetch('currentTime'))
    end
    memoize :current_time

    def version
      eveapi.fetch('@version').to_i
    end
    memoize :version

    def eveapi
      response.fetch('eveapi')
    end
    memoize :eveapi

    private

    def parse_datetime_with_timezone(value)
      ActiveSupport::TimeZone['UTC'].parse(value)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
eve_online-0.14.0 lib/eve_online/base_xml.rb
eve_online-0.13.0 lib/eve_online/base_xml.rb
eve_online-0.12.0 lib/eve_online/base_xml.rb
eve_online-0.11.0 lib/eve_online/base_xml.rb
eve_online-0.10.0 lib/eve_online/base_xml.rb
eve_online-0.9.0 lib/eve_online/base_xml.rb