Sha256: d587ba71ba4a50be527d9425bd80f202d4ee0f77cee4bfb503e36f18a137d39a

Contents?: true

Size: 1.09 KB

Versions: 2

Compression:

Stored size: 1.09 KB

Contents

require 'active_support/time'

module EveOnline
  module XML
    module Models
      class SkillQueueEntry
        attr_reader :options

        def initialize(options)
          @options = options
        end

        def as_json
          {
            queue_position: queue_position,
            type_id: type_id,
            level: level,
            start_sp: start_sp,
            end_sp: end_sp,
            start_time: start_time,
            end_time: end_time
          }
        end

        def queue_position
          options.fetch('@queuePosition').to_i
        end

        def type_id
          options.fetch('@typeID').to_i
        end

        def level
          options.fetch('@level').to_i
        end

        def start_sp
          options.fetch('@startSP').to_i
        end

        def end_sp
          options.fetch('@endSP').to_i
        end

        def start_time
          ActiveSupport::TimeZone['UTC'].parse(options.fetch('@startTime'))
        end

        def end_time
          ActiveSupport::TimeZone['UTC'].parse(options.fetch('@endTime'))
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
eve_online-0.12.0 lib/eve_online/xml/models/skill_queue_entry.rb
eve_online-0.11.0 lib/eve_online/xml/models/skill_queue_entry.rb