Sha256: 7b29c4df490e7eb8bfcd8b8382fa1b5f1d18a554c74270d0ba40c98a66b4197c

Contents?: true

Size: 846 Bytes

Versions: 6

Compression:

Stored size: 846 Bytes

Contents

require "facets"
require File.dirname(__FILE__) + "/../../command_handler"
require File.dirname(__FILE__) + "/../node"

module Glimmer
  module XML
    module CommandHandlers
      class XmlTagCommandHandler
        include CommandHandler

        def can_handle?(parent, command_symbol, *args, &block)
          (parent == nil or parent.is_a?(Node)) and
          (command_symbol.to_s == "tag") and
          ((args.size == 1) and ((args[0].is_a?(Hash)) or (args[0].is_a?(Hash)))) and
          args[0].include?(:_name)
        end

        def do_handle(parent, command_symbol, *args, &block)
          attributes = nil
          attributes = args[0] if (args.size == 1)
          tag_name = attributes[:_name]
          attributes.delete(:_name)
          Node.new(parent, tag_name, attributes, &block)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
glimmer-0.4.9 lib/glimmer/xml/command_handlers/xml_tag_command_handler.rb
glimmer-0.4.8 lib/glimmer/xml/command_handlers/xml_tag_command_handler.rb
glimmer-0.4.7 lib/glimmer/xml/command_handlers/xml_tag_command_handler.rb
glimmer-0.4.6 lib/glimmer/xml/command_handlers/xml_tag_command_handler.rb
glimmer-0.4.5 lib/glimmer/xml/command_handlers/xml_tag_command_handler.rb
glimmer-0.4.4 lib/glimmer/xml/command_handlers/xml_tag_command_handler.rb