Sha256: bb853eca744fd0b37c16396a94e3508b43000bfc7e17878e6b6c6685c43a9db2

Contents?: true

Size: 1.91 KB

Versions: 49

Compression:

Stored size: 1.91 KB

Contents

# -*- encoding : utf-8 -*-
require 'builder'

module Reactor
  module Cm
    class XmlMarkup < Builder::XmlMarkup

      def where_key_tag!(base_name, key, value)
        where_tag!(base_name) do |xml|
          xml.tag!(key.to_s) do
            xml.text!(value.to_s)
          end
        end
      end

      def where_tag!(base_name)
        tag!("#{base_name}-where") do |xml|
          yield xml
        end
      end

      def create_tag!(base_name)
        tag!("#{base_name}-create") do |xml|
          yield xml
        end
      end

      def delete_tag!(base_name)
        tag!("#{base_name}-delete")
      end

      def get_key_tag!(base_name, key)
        get_tag!(base_name) do |xml|
          if key.kind_of?(::Array)
            key.each {|k| xml.tag!(k.to_s) }
          else
            xml.tag!(key.to_s) ; end
        end
      end

      def get_tag!(base_name)
        tag!("#{base_name}-get") do |xml|
          yield xml
        end
      end

      def set_key_tag!(base_name, key, value, options = {})
        set_tag!(base_name) do
          value_tag!(key, value, options)
        end
      end

      def set_tag!(base_name)
        tag!("#{base_name}-set") do |xml|
          yield xml
        end
      end

      def value_tag!(key, value, options = {})
        if value.kind_of? ::Array then array_value_tag!(key, value, options)
        elsif value.kind_of? ::Hash then hash_value_tag!(key, value)
        else tag!(key.to_s) { text!(value.to_s) }
        end
      end

      def array_value_tag!(name, values, options = {})
        tag!(name.to_s, options) do
          values.each do |value|
            tag!('listitem') do
              text!(value.to_s)
            end
          end
        end
      end

      def hash_value_tag!(name, hash)
        hash.each do |value, attr_hash|
          tag!(name.to_s, attr_hash) do
            text!(value.to_s)
          end
        end
      end

    end
  end
end

Version data entries

49 entries across 49 versions & 2 rubygems

Version Path
infopark_reactor-1.26.1 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.26.0 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.25.2 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.25.1 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.25.0 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.24.1 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.24.0 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.23.1 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.23.0 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.23.0.beta2 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.22.6 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.22.5 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.22.4 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.22.3 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.22.2 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.22.1 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.22.0 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.21.0 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.20.4 lib/reactor/cm/xml_markup.rb
infopark_reactor-1.20.3 lib/reactor/cm/xml_markup.rb