Sha256: eaf62a541239f9bf282e89deeeb052ae2e7fc99f4e521d95b125a28c5506f5ed
Contents?: true
Size: 995 Bytes
Versions: 26
Compression:
Stored size: 995 Bytes
Contents
module Xsys module Model class ProductPriceList def self.attr_list [:product_id, :product_name, :price_list_id, :taxed_price, :total_price, :markup, :price_update_date, :price_update_time, :price_update_login] end attr_reader *attr_list def initialize(attributes={}) time_fields = ['price_update_time'] date_fields = ['price_update_date'] decimal_fields = ['total_price', 'taxed_price', 'markup'] 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? elsif decimal_fields.include?(k.to_s) self.send("#{k}=", BigDecimal.new(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
26 entries across 26 versions & 1 rubygems