Sha256: ad0f354fef000ef5e6912abbacdfc6779dd1f748922c0cb97f0acadb2556daca

Contents?: true

Size: 958 Bytes

Versions: 44

Compression:

Stored size: 958 Bytes

Contents

module Xsys
  module Model
    class Stock
      def self.attr_list
        [
          :shop_code,
          :quantity,
          :available,
          :reserved,
          :quantity_update_time,
          :quantity_update_date,
          :reserved_update_time,
          :reserved_update_date,
          :sellable
        ]
      end

      attr_reader *attr_list

      def initialize(attributes={})
        time_fields = ['quantity_update_time', 'reserved_update_time']
        date_fields = ['quantity_update_date', 'reserved_update_date']

        attributes.each do |k, v|
          if time_fields.include?(k.to_s)
            self.send("#{k}=", Time.parse(v)) unless v.nil?
          elsif date_fields.include?(k.to_s)
            self.send("#{k}=", Date.parse(v)) unless v.nil?
          else
            self.send("#{k}=", v) if self.respond_to?(k)
          end
        end
      end

      private

      attr_writer *attr_list
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
xsys-0.47.0 lib/xsys/model/stock.rb
xsys-0.46.0 lib/xsys/model/stock.rb
xsys-0.45.0 lib/xsys/model/stock.rb
xsys-0.44.0 lib/xsys/model/stock.rb
xsys-0.43.0 lib/xsys/model/stock.rb
xsys-0.42.0 lib/xsys/model/stock.rb
xsys-0.41.0 lib/xsys/model/stock.rb
xsys-0.40.0 lib/xsys/model/stock.rb
xsys-0.39.0 lib/xsys/model/stock.rb
xsys-0.38.0 lib/xsys/model/stock.rb
xsys-0.37.0 lib/xsys/model/stock.rb
xsys-0.36.0 lib/xsys/model/stock.rb
xsys-0.35.0 lib/xsys/model/stock.rb
xsys-0.34.0 lib/xsys/model/stock.rb
xsys-0.33.0 lib/xsys/model/stock.rb
xsys-0.32.0 lib/xsys/model/stock.rb
xsys-0.31.0 lib/xsys/model/stock.rb
xsys-0.30.0 lib/xsys/model/stock.rb
xsys-0.28.0 lib/xsys/model/stock.rb
xsys-0.27.0 lib/xsys/model/stock.rb