Sha256: 0d98f8fbd3a06b17c50dcc249d197e2886171646935cd01709fd961d7ebafb43
Contents?: true
Size: 653 Bytes
Versions: 17
Compression:
Stored size: 653 Bytes
Contents
module Xsys module Model class ProductPackage def self.attr_list [:length, :width, :height, :weight, :ean, :name] end attr_reader *attr_list def initialize(attributes={}) attributes.each do |k, v| decimal_fields = ['length', 'width', 'height', 'weight'] if 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 def volume length * width * height end private attr_writer *attr_list end end end
Version data entries
17 entries across 17 versions & 1 rubygems