Sha256: c893d5eacc6968f9a6a1a10a00e9afac992bc040bd83f2f03450dd2a75933077

Contents?: true

Size: 742 Bytes

Versions: 3

Compression:

Stored size: 742 Bytes

Contents

module Xsys
  module Model
    class BackgroundJob
      def self.attr_list
        [:code, :shop_code, :label, :arguments, :status, :processed_items,
         :total_items, :observations, :started_at, :ended_at, :events]
      end

      attr_reader *attr_list

      def initialize(attributes={})
        attributes.each do |k, v|
          if k.to_s == 'events'
            @events = v.map { |x| JobEvent.new(x) }
          elsif k.to_s == 'started_at'
            @started_at = Time.parse(v)
          elsif k.to_s == 'ended_at'
            @ended_at = Time.parse(v)
          else
            self.send("#{k}=", v) if self.respond_to?(k)
          end
        end
      end

      private

      attr_writer *attr_list
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
xsys-0.2.3 lib/xsys/model/background_job.rb
xsys-0.2.2 lib/xsys/model/background_job.rb
xsys-0.2.1 lib/xsys/model/background_job.rb