kind_dom 0.9.5 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/kind_dom/base.rb +13 -5
- data/test/kind_dom_test.rb +24 -1
- metadata +2 -2
data/lib/kind_dom/base.rb
CHANGED
@@ -35,11 +35,19 @@ module KindDom
|
|
35
35
|
|
36
36
|
attr_accessor :dom
|
37
37
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
38
|
+
# A new KindDom object may be created from raw XML [string] data, or
|
39
|
+
# an already instantiated XML::Node or XML::Document.
|
40
|
+
#
|
41
|
+
def initialize(xml_in=nil)
|
42
|
+
unless xml_in.blank?
|
43
|
+
case
|
44
|
+
when xml_in.kind_of?(String)
|
45
|
+
parser = XML::Parser.new
|
46
|
+
parser.string = xml_in
|
47
|
+
@dom = parser.parse
|
48
|
+
when xml_in.kind_of?(XML::Document), xml_in.kind_of?(XML::Node)
|
49
|
+
@dom = xml_in
|
50
|
+
end
|
43
51
|
end
|
44
52
|
rescue XML::Parser::ParseError
|
45
53
|
ensure
|
data/test/kind_dom_test.rb
CHANGED
@@ -5,8 +5,23 @@ class KindDomTest < Test::Unit::TestCase
|
|
5
5
|
|
6
6
|
@@test_dom = KindDom::Base.new(File.read(File.dirname(__FILE__) + '/flickr_rss.xml'))
|
7
7
|
|
8
|
-
def
|
8
|
+
def test_initialization_from_raw_xml
|
9
9
|
assert_kind_of XML::Document, @@test_dom
|
10
|
+
assert @@test_dom.respond_to?(:content_for)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_initialization_from_xml_document
|
14
|
+
parsed = parse_xml File.read(File.dirname(__FILE__) + '/flickr_rss.xml')
|
15
|
+
k = KindDom::Base.new(parsed)
|
16
|
+
assert_kind_of XML::Document, k
|
17
|
+
assert k.respond_to?(:content_for)
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_initialization_from_xml_node
|
21
|
+
parsed = parse_xml File.read(File.dirname(__FILE__) + '/flickr_rss.xml')
|
22
|
+
k = KindDom::Base.new(parsed.root.find_first('channel/item'))
|
23
|
+
assert_kind_of XML::Node, k
|
24
|
+
assert k.respond_to?(:content_for)
|
10
25
|
end
|
11
26
|
|
12
27
|
|
@@ -87,4 +102,12 @@ class KindDomTest < Test::Unit::TestCase
|
|
87
102
|
end
|
88
103
|
|
89
104
|
|
105
|
+
private
|
106
|
+
|
107
|
+
def parse_xml(data)
|
108
|
+
parser = XML::Parser.new
|
109
|
+
parser.string = data
|
110
|
+
parser.parse
|
111
|
+
end
|
112
|
+
|
90
113
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kind_dom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mars Hall
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-07-02 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|