Sha256: b8c90ec99318cadee912e36f90bebb85707e8b6af89a8b94db41d8914f8577f9
Contents?: true
Size: 928 Bytes
Versions: 1
Compression:
Stored size: 928 Bytes
Contents
module Inforouter #:nodoc: class PropertyRow < Record # Property row index. attr_accessor :row_nbr alias :row_number :row_nbr # @params params [Hash] def initialize(params = {}) # Declare instance variables from params hash. params.each do |k, v| # Remove leading at. k = k.to_s.sub(/^@/, '') instance_variable_set("@#{k}", v) eigenclass = class << self; self; end eigenclass.class_eval do attr_accessor k end end end # @param xml [Nokogiri::XML::Builder] # # @return [Nokogiri::XML::Builder::NodeBuilder] def to_xml(xml) fields = {} instance_variables.each do |ivar| name = ivar.to_s.sub(/^@/, '') name == 'row_nbr' ? name = 'RowNbr' : name.upcase! fields[name] = instance_variable_get(ivar) end xml.propertyrow fields unless fields.empty? end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
inforouter-0.3.0 | lib/inforouter/property_row.rb |