Removed the node_type method crap.
The logic this was used for now only resides in the pull parser, instead of being exposed to the public. This fixes #30.
This commit is contained in:
parent
9ab5c302f7
commit
d082822cdc
|
@ -1,5 +1,12 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 0.2.0 - Unreleased
|
||||||
|
|
||||||
|
The `node_type` method has been removed and its purpose has been moved into
|
||||||
|
the `XML::PullParser` class itself. This method was solely used by the pull
|
||||||
|
parser to provide shorthands for node classes. As such it doesn't make sense to
|
||||||
|
expose this as a method to the outside world as a public method.
|
||||||
|
|
||||||
## 0.1.1 - 2014-09-13
|
## 0.1.1 - 2014-09-13
|
||||||
|
|
||||||
This release fixes a problem where element attributes were not separated by
|
This release fixes a problem where element attributes were not separated by
|
||||||
|
|
|
@ -9,7 +9,6 @@ require_relative 'oga/oga'
|
||||||
# Oga::XML namespace.
|
# Oga::XML namespace.
|
||||||
require_relative 'oga/xml/lexer'
|
require_relative 'oga/xml/lexer'
|
||||||
require_relative 'oga/xml/parser'
|
require_relative 'oga/xml/parser'
|
||||||
require_relative 'oga/xml/pull_parser'
|
|
||||||
|
|
||||||
require_relative 'liboga'
|
require_relative 'liboga'
|
||||||
|
|
||||||
|
@ -35,6 +34,7 @@ require_relative 'oga/xml/attribute'
|
||||||
require_relative 'oga/xml/element'
|
require_relative 'oga/xml/element'
|
||||||
require_relative 'oga/xml/node_set'
|
require_relative 'oga/xml/node_set'
|
||||||
|
|
||||||
|
require_relative 'oga/xml/pull_parser'
|
||||||
require_relative 'oga/html/parser'
|
require_relative 'oga/html/parser'
|
||||||
|
|
||||||
require_relative 'oga/xpath/node'
|
require_relative 'oga/xpath/node'
|
||||||
|
|
|
@ -12,13 +12,6 @@ module Oga
|
||||||
def to_xml
|
def to_xml
|
||||||
return "<![CDATA[#{text}]]>"
|
return "<![CDATA[#{text}]]>"
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
|
||||||
# @return [Symbol]
|
|
||||||
#
|
|
||||||
def node_type
|
|
||||||
return :cdata
|
|
||||||
end
|
|
||||||
end # Cdata
|
end # Cdata
|
||||||
end # XML
|
end # XML
|
||||||
end # Oga
|
end # Oga
|
||||||
|
|
|
@ -12,13 +12,6 @@ module Oga
|
||||||
def to_xml
|
def to_xml
|
||||||
return "<!--#{text}-->"
|
return "<!--#{text}-->"
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
|
||||||
# @return [Symbol]
|
|
||||||
#
|
|
||||||
def node_type
|
|
||||||
return :comment
|
|
||||||
end
|
|
||||||
end # Comment
|
end # Comment
|
||||||
end # XML
|
end # XML
|
||||||
end # Oga
|
end # Oga
|
||||||
|
|
|
@ -79,13 +79,6 @@ module Oga
|
||||||
|
|
||||||
return "Doctype(#{segments.join(' ')})"
|
return "Doctype(#{segments.join(' ')})"
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
|
||||||
# @return [Symbol]
|
|
||||||
#
|
|
||||||
def node_type
|
|
||||||
return :doctype
|
|
||||||
end
|
|
||||||
end # Doctype
|
end # Doctype
|
||||||
end # XML
|
end # XML
|
||||||
end # Oga
|
end # Oga
|
||||||
|
|
|
@ -236,13 +236,6 @@ module Oga
|
||||||
return "Element(#{segments.join(' ')})"
|
return "Element(#{segments.join(' ')})"
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
|
||||||
# @return [Symbol]
|
|
||||||
#
|
|
||||||
def node_type
|
|
||||||
return :element
|
|
||||||
end
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# Registers a new namespace for the current element and its child
|
# Registers a new namespace for the current element and its child
|
||||||
# elements.
|
# elements.
|
||||||
|
|
|
@ -163,13 +163,6 @@ module Oga
|
||||||
|
|
||||||
node_set.insert(index, other)
|
node_set.insert(index, other)
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
|
||||||
# @return [Symbol]
|
|
||||||
#
|
|
||||||
def node_type
|
|
||||||
return :node
|
|
||||||
end
|
|
||||||
end # Element
|
end # Element
|
||||||
end # XML
|
end # XML
|
||||||
end # Oga
|
end # Oga
|
||||||
|
|
|
@ -50,6 +50,21 @@ module Oga
|
||||||
:on_proc_ins
|
:on_proc_ins
|
||||||
]
|
]
|
||||||
|
|
||||||
|
##
|
||||||
|
# Returns the shorthands that can be used for various node classes.
|
||||||
|
#
|
||||||
|
# @return [Hash]
|
||||||
|
#
|
||||||
|
NODE_SHORTHANDS = {
|
||||||
|
:text => XML::Text,
|
||||||
|
:node => XML::Node,
|
||||||
|
:cdata => XML::Cdata,
|
||||||
|
:element => XML::Element,
|
||||||
|
:doctype => XML::Doctype,
|
||||||
|
:comment => XML::Comment,
|
||||||
|
:xml_declaration => XML::XmlDeclaration
|
||||||
|
}
|
||||||
|
|
||||||
##
|
##
|
||||||
# @see Oga::XML::Parser#reset
|
# @see Oga::XML::Parser#reset
|
||||||
#
|
#
|
||||||
|
@ -89,8 +104,7 @@ module Oga
|
||||||
# Instead of this:
|
# Instead of this:
|
||||||
#
|
#
|
||||||
# parser.parse do |node|
|
# parser.parse do |node|
|
||||||
# if node.node_type == :text \
|
# if node.is_a?(Oga::XML::Text) and parser.nesting == %w{people person name}
|
||||||
# and parser.nesting == %w{people person name}
|
|
||||||
# puts node.text
|
# puts node.text
|
||||||
# end
|
# end
|
||||||
# end
|
# end
|
||||||
|
@ -113,7 +127,7 @@ module Oga
|
||||||
# @param [Array] nesting The element name nesting to act upon.
|
# @param [Array] nesting The element name nesting to act upon.
|
||||||
#
|
#
|
||||||
def on(type, nesting = [])
|
def on(type, nesting = [])
|
||||||
if node.node_type == type
|
if node.is_a?(NODE_SHORTHANDS[type])
|
||||||
if nesting.empty? or nesting == self.nesting
|
if nesting.empty? or nesting == self.nesting
|
||||||
yield
|
yield
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,12 +5,7 @@ module Oga
|
||||||
# have any children, attributes and the likes; just text.
|
# have any children, attributes and the likes; just text.
|
||||||
#
|
#
|
||||||
class Text < CharacterNode
|
class Text < CharacterNode
|
||||||
##
|
|
||||||
# @return [Symbol]
|
|
||||||
#
|
|
||||||
def node_type
|
|
||||||
return :text
|
|
||||||
end
|
|
||||||
end # Text
|
end # Text
|
||||||
end # XML
|
end # XML
|
||||||
end # Oga
|
end # Oga
|
||||||
|
|
|
@ -64,13 +64,6 @@ module Oga
|
||||||
|
|
||||||
return "XmlDeclaration(#{segments.join(' ')})"
|
return "XmlDeclaration(#{segments.join(' ')})"
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
|
||||||
# @return [Symbol]
|
|
||||||
#
|
|
||||||
def node_type
|
|
||||||
return :xml_decl
|
|
||||||
end
|
|
||||||
end # XmlDeclaration
|
end # XmlDeclaration
|
||||||
end # XML
|
end # XML
|
||||||
end # Oga
|
end # Oga
|
||||||
|
|
|
@ -33,10 +33,4 @@ describe Oga::XML::Cdata do
|
||||||
@instance.inspect.should == 'Cdata("foo")'
|
@instance.inspect.should == 'Cdata("foo")'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context '#type' do
|
|
||||||
example 'return the type of the node' do
|
|
||||||
described_class.new.node_type.should == :cdata
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -33,10 +33,4 @@ describe Oga::XML::Comment do
|
||||||
@instance.inspect.should == 'Comment("foo")'
|
@instance.inspect.should == 'Comment("foo")'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context '#type' do
|
|
||||||
example 'return the type of the node' do
|
|
||||||
described_class.new.node_type.should == :comment
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -71,10 +71,4 @@ Doctype(name: "html" type: "PUBLIC" inline_rules: "<!ELEMENT foo>")
|
||||||
EOF
|
EOF
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context '#type' do
|
|
||||||
example 'return the type of the node' do
|
|
||||||
described_class.new.node_type.should == :doctype
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -324,12 +324,6 @@ describe Oga::XML::Element do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context '#type' do
|
|
||||||
example 'return the type of the node' do
|
|
||||||
described_class.new.node_type.should == :element
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context '#register_namespace' do
|
context '#register_namespace' do
|
||||||
before do
|
before do
|
||||||
@element = described_class.new
|
@element = described_class.new
|
||||||
|
|
|
@ -10,12 +10,6 @@ describe Oga::XML::Node do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context '#type' do
|
|
||||||
example 'return the type of the node' do
|
|
||||||
described_class.new.node_type.should == :node
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context '#children' do
|
context '#children' do
|
||||||
example 'return an empty set by default' do
|
example 'return an empty set by default' do
|
||||||
described_class.new.children.empty?.should == true
|
described_class.new.children.empty?.should == true
|
||||||
|
|
|
@ -33,10 +33,4 @@ describe Oga::XML::Text do
|
||||||
@instance.inspect.should == 'Text("foo")'
|
@instance.inspect.should == 'Text("foo")'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context '#type' do
|
|
||||||
example 'return the type of the node' do
|
|
||||||
described_class.new.node_type.should == :text
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -54,10 +54,4 @@ XmlDeclaration(version: "1.0" encoding: "UTF-8")
|
||||||
EOF
|
EOF
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context '#type' do
|
|
||||||
example 'return the type of the node' do
|
|
||||||
described_class.new.node_type.should == :xml_decl
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue