Sha256: 120ba2668d4e461ab3866d458d28a674d0271fbb2675ab11f52cc84889a71410

Contents?: true

Size: 1.01 KB

Versions: 4

Compression:

Stored size: 1.01 KB

Contents

module Inforouter #:nodoc:
  class PropertySet < Record
    # Property set name.
    attr_accessor :name
    # Array of <tt>Inforouter::PropertyRow</tt>s.
    attr_accessor :rows

    def initialize(params = {})
      params = { rows: [] }.merge(params)
      super params
    end

    # <Propertysets>
    #   <propertyset Name="LETTER">
    #     <propertyrow RowNbr="1" LetterType="Business" Subject="Subject 1 - updated subject Lorem dolor sit amet.."/>
    #     <propertyrow RowNbr="2" LetterType="Business" Subject="Subject 2 - updated subject ..Lorem Dolor Sit amet.."/>
    #   </propertyset>
    # </Propertysets>
    #
    # @return [String]
    def self.to_xml(property_sets)
      builder = Nokogiri::XML::Builder.new do |xml|
        xml.Propertysets do
          property_sets.each do |property_set|
            xml.propertyset(Name: property_set.name) do
              property_set.rows.each { |row| row.to_xml(xml) }
            end
          end
        end
      end
      builder.doc.root.to_xml
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
inforouter-0.2.9 lib/inforouter/property_set.rb
inforouter-0.2.8 lib/inforouter/property_set.rb
inforouter-0.2.7 lib/inforouter/property_set.rb
inforouter-0.2.6 lib/inforouter/property_set.rb