niceogiri 0.0.4 → 0.1.0
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/.gitignore +2 -0
- data/.rspec +4 -0
- data/Gemfile +5 -0
- data/Guardfile +5 -0
- data/Rakefile +6 -13
- data/lib/niceogiri/core_ext/nokogiri.rb +6 -1
- data/lib/niceogiri/version.rb +1 -1
- data/niceogiri.gemspec +6 -7
- data/spec/niceogiri/core_ext/nokogiri_spec.rb +46 -37
- data/spec/niceogiri/xml/node_spec.rb +69 -72
- data/spec/spec_helper.rb +9 -4
- metadata +72 -126
data/.gitignore
CHANGED
data/.rspec
ADDED
data/Gemfile
CHANGED
data/Guardfile
ADDED
data/Rakefile
CHANGED
@@ -1,21 +1,14 @@
|
|
1
1
|
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
2
3
|
require 'rake'
|
3
4
|
|
4
5
|
require 'bundler/gem_tasks'
|
5
6
|
|
6
|
-
require '
|
7
|
-
|
8
|
-
test.libs << 'lib' << 'spec'
|
9
|
-
test.pattern = 'spec/**/*_spec.rb'
|
10
|
-
test.verbose = true
|
11
|
-
end
|
7
|
+
require 'rspec/core'
|
8
|
+
require 'rspec/core/rake_task'
|
12
9
|
|
13
|
-
|
14
|
-
|
15
|
-
test.libs << 'spec'
|
16
|
-
test.pattern = 'spec/**/*_spec.rb'
|
17
|
-
test.rcov_opts += ['--exclude \/Library\/Ruby,spec\/', '--xrefs']
|
18
|
-
test.verbose = true
|
10
|
+
RSpec::Core::RakeTask.new(:spec) do |spec|
|
11
|
+
spec.pattern = FileList['spec/**/*_spec.rb']
|
19
12
|
end
|
20
13
|
|
21
14
|
require 'yard'
|
@@ -24,4 +17,4 @@ YARD::Rake::YardocTask.new(:doc) do |t|
|
|
24
17
|
t.options = ['--no-private', '-m', 'markdown', '-o', './doc/public/yard']
|
25
18
|
end
|
26
19
|
|
27
|
-
task :default => :
|
20
|
+
task :default => :spec
|
@@ -16,7 +16,12 @@ module Nokogiri
|
|
16
16
|
# @param [#to_s, nil] value the new value or nil to remove it
|
17
17
|
def []=(name, value)
|
18
18
|
name = name.to_s
|
19
|
-
value.nil?
|
19
|
+
if value.nil?
|
20
|
+
remove_attribute name
|
21
|
+
else
|
22
|
+
value = value.is_a?(Array) ? value.join : value
|
23
|
+
attr_set name, value.to_s
|
24
|
+
end
|
20
25
|
end
|
21
26
|
|
22
27
|
alias_method :nokogiri_xpath, :xpath
|
data/lib/niceogiri/version.rb
CHANGED
data/niceogiri.gemspec
CHANGED
@@ -19,12 +19,11 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.rdoc_options = %w{--charset=UTF-8}
|
20
20
|
s.extra_rdoc_files = %w{LICENSE README.md}
|
21
21
|
|
22
|
-
s.add_dependency
|
22
|
+
s.add_dependency "nokogiri", ["~> 1.4.6"]
|
23
23
|
|
24
|
-
s.add_development_dependency
|
25
|
-
s.add_development_dependency
|
26
|
-
s.add_development_dependency
|
27
|
-
s.add_development_dependency
|
28
|
-
s.add_development_dependency
|
29
|
-
s.add_development_dependency("rake")
|
24
|
+
s.add_development_dependency "rspec", [">= 2.7.0"]
|
25
|
+
s.add_development_dependency "bundler", ["~> 1.0.0"]
|
26
|
+
s.add_development_dependency "yard", ["~> 0.6.1"]
|
27
|
+
s.add_development_dependency "rake"
|
28
|
+
s.add_development_dependency "guard-rspec"
|
30
29
|
end
|
@@ -1,83 +1,92 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe
|
4
|
-
|
3
|
+
describe Nokogiri::XML::Node do
|
4
|
+
let(:doc) { Nokogiri::XML::Document.new }
|
5
5
|
|
6
6
|
it 'aliases #name to #element_name' do
|
7
|
-
node = Nokogiri::XML::Node.new 'foo',
|
8
|
-
node.
|
9
|
-
node.element_name.
|
7
|
+
node = Nokogiri::XML::Node.new 'foo', doc
|
8
|
+
node.should respond_to :element_name
|
9
|
+
node.element_name.should == node.name
|
10
10
|
end
|
11
11
|
|
12
12
|
it 'aliases #name= to #element_name=' do
|
13
|
-
node = Nokogiri::XML::Node.new 'foo',
|
14
|
-
node.
|
15
|
-
node.element_name.
|
13
|
+
node = Nokogiri::XML::Node.new 'foo', doc
|
14
|
+
node.should respond_to :element_name=
|
15
|
+
node.element_name.should == node.name
|
16
16
|
node.element_name = 'bar'
|
17
|
-
node.element_name.
|
17
|
+
node.element_name.should == 'bar'
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'allows symbols as hash keys for attributes' do
|
21
|
-
attrs = Nokogiri::XML::Node.new('foo',
|
21
|
+
attrs = Nokogiri::XML::Node.new('foo', doc)
|
22
22
|
attrs['foo'] = 'bar'
|
23
23
|
|
24
|
-
attrs['foo'].
|
25
|
-
attrs[:foo].
|
24
|
+
attrs['foo'].should == 'bar'
|
25
|
+
attrs[:foo].should == 'bar'
|
26
26
|
end
|
27
27
|
|
28
28
|
it 'ensures a string is passed to the attribute setter' do
|
29
|
-
attrs = Nokogiri::XML::Node.new('foo',
|
29
|
+
attrs = Nokogiri::XML::Node.new('foo', doc)
|
30
30
|
attrs[:foo] = 1
|
31
|
-
attrs[:foo].
|
31
|
+
attrs[:foo].should == '1'
|
32
|
+
|
33
|
+
attrs[:some_attr] = :bah
|
34
|
+
attrs[:some_attr].should == 'bah'
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'joins an array into a string when passed to the attribute setter' do
|
38
|
+
attrs = Nokogiri::XML::Node.new('foo', doc)
|
39
|
+
attrs[:foo] = 1
|
40
|
+
attrs[:foo].should == '1'
|
32
41
|
|
33
42
|
attrs[:some_attr] = [:bah, :boo]
|
34
|
-
attrs[:some_attr].
|
43
|
+
attrs[:some_attr].should == 'bahboo'
|
35
44
|
end
|
36
45
|
|
37
46
|
it 'removes an attribute when set to nil' do
|
38
|
-
attrs = Nokogiri::XML::Node.new('foo',
|
47
|
+
attrs = Nokogiri::XML::Node.new('foo', doc)
|
39
48
|
attrs['foo'] = 'bar'
|
40
49
|
|
41
|
-
attrs['foo'].
|
50
|
+
attrs['foo'].should == 'bar'
|
42
51
|
attrs['foo'] = nil
|
43
|
-
attrs['foo'].
|
52
|
+
attrs['foo'].should be_nil
|
44
53
|
end
|
45
54
|
|
46
55
|
it 'allows attribute values to change' do
|
47
|
-
attrs = Nokogiri::XML::Node.new('foo',
|
56
|
+
attrs = Nokogiri::XML::Node.new('foo', doc)
|
48
57
|
attrs['foo'] = 'bar'
|
49
58
|
|
50
|
-
attrs['foo'].
|
59
|
+
attrs['foo'].should == 'bar'
|
51
60
|
attrs['foo'] = 'baz'
|
52
|
-
attrs['foo'].
|
61
|
+
attrs['foo'].should == 'baz'
|
53
62
|
end
|
54
63
|
|
55
64
|
it 'allows symbols as the path in #xpath' do
|
56
|
-
node = Nokogiri::XML::Node.new('foo',
|
57
|
-
node.
|
58
|
-
|
59
|
-
|
60
|
-
|
65
|
+
node = Nokogiri::XML::Node.new('foo', doc)
|
66
|
+
node.should respond_to :find
|
67
|
+
doc.root = node
|
68
|
+
doc.xpath(:foo).first.should_not be_nil
|
69
|
+
doc.xpath(:foo).first.should == doc.xpath('/foo').first
|
61
70
|
end
|
62
71
|
|
63
72
|
it 'allows symbols as namespace names in #xpath' do
|
64
|
-
node = Nokogiri::XML::Node.new('foo',
|
73
|
+
node = Nokogiri::XML::Node.new('foo', doc)
|
65
74
|
node.namespace = node.add_namespace('bar', 'baz')
|
66
|
-
|
67
|
-
node.xpath('/bar:foo', :bar => 'baz').first.
|
75
|
+
doc.root = node
|
76
|
+
node.xpath('/bar:foo', :bar => 'baz').first.should_not be_nil
|
68
77
|
end
|
69
78
|
|
70
79
|
it 'aliases #xpath to #find' do
|
71
|
-
node = Nokogiri::XML::Node.new('foo',
|
72
|
-
node.
|
73
|
-
|
74
|
-
node.find('/foo').first.
|
80
|
+
node = Nokogiri::XML::Node.new('foo', doc)
|
81
|
+
node.should respond_to :find
|
82
|
+
doc.root = node
|
83
|
+
node.find('/foo').first.should_not be_nil
|
75
84
|
end
|
76
85
|
|
77
86
|
it 'has a helper function #find_first' do
|
78
|
-
node = Nokogiri::XML::Node.new('foo',
|
79
|
-
node.
|
80
|
-
|
81
|
-
node.find_first('/foo').
|
87
|
+
node = Nokogiri::XML::Node.new('foo', doc)
|
88
|
+
node.should respond_to :find
|
89
|
+
doc.root = node
|
90
|
+
node.find_first('/foo').should == node.find('/foo').first
|
82
91
|
end
|
83
92
|
end
|
@@ -3,89 +3,87 @@ require 'spec_helper'
|
|
3
3
|
module Niceogiri
|
4
4
|
module XML
|
5
5
|
describe Node do
|
6
|
-
|
6
|
+
let(:doc) { Nokogiri::XML::Document.new }
|
7
|
+
|
8
|
+
let(:node_name) { 'foo' }
|
9
|
+
subject { Node.new node_name }
|
7
10
|
|
8
11
|
it 'generates a new node automatically setting the document' do
|
9
|
-
|
10
|
-
|
11
|
-
n.document.wont_equal @doc
|
12
|
+
subject.element_name.should == 'foo'
|
13
|
+
subject.document.should_not == doc
|
12
14
|
end
|
13
15
|
|
14
16
|
it 'sets the new document root to the node' do
|
15
|
-
|
16
|
-
n.document.root.must_equal n
|
17
|
+
subject.document.root.should == subject
|
17
18
|
end
|
18
19
|
|
19
20
|
it 'does not set the document root if the document is provided' do
|
20
|
-
n = Node.new 'foo',
|
21
|
-
n.document.root.
|
21
|
+
n = Node.new 'foo', doc
|
22
|
+
n.document.root.should_not == n
|
22
23
|
end
|
23
24
|
|
24
25
|
it 'generates a new node with the given document' do
|
25
|
-
n = Node.new 'foo',
|
26
|
-
n.element_name.
|
27
|
-
n.document.
|
26
|
+
n = Node.new 'foo', doc
|
27
|
+
n.element_name.should == 'foo'
|
28
|
+
n.document.should == doc
|
28
29
|
end
|
29
30
|
|
30
31
|
it 'provides an attribute reader' do
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
foo.read_attr(:bar).must_equal 'baz'
|
32
|
+
subject.read_attr(:bar).should be_nil
|
33
|
+
subject[:bar] = 'baz'
|
34
|
+
subject.read_attr(:bar).should == 'baz'
|
35
35
|
end
|
36
36
|
|
37
|
-
it 'provides an attribute reader with
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
foo.read_attr(:bar, :to_sym).must_equal :baz
|
37
|
+
it 'provides an attribute reader with conversion' do
|
38
|
+
subject.read_attr(:bar, :to_sym).should be_nil
|
39
|
+
subject[:bar] = 'baz'
|
40
|
+
subject.read_attr(:bar, :to_sym).should == :baz
|
42
41
|
end
|
43
42
|
|
44
43
|
it 'provides an attribute writer' do
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
foo[:bar].must_equal 'baz'
|
44
|
+
subject[:bar].should be_nil
|
45
|
+
subject.write_attr :bar, 'baz'
|
46
|
+
subject[:bar].should == 'baz'
|
49
47
|
end
|
50
48
|
|
51
49
|
it 'provides a content reader' do
|
52
|
-
foo = Node.new
|
50
|
+
foo = Node.new 'foo'
|
53
51
|
foo << (bar = Node.new('bar', foo.document))
|
54
52
|
bar.content = 'baz'
|
55
|
-
foo.read_content(:bar).
|
53
|
+
foo.read_content(:bar).should == 'baz'
|
56
54
|
end
|
57
55
|
|
58
56
|
it 'provides a content reader that converts the value' do
|
59
|
-
foo = Node.new
|
57
|
+
foo = Node.new 'foo'
|
60
58
|
foo << (bar = Node.new('bar', foo.document))
|
61
59
|
bar.content = 'baz'
|
62
|
-
foo.read_content(:bar, :to_sym).
|
60
|
+
foo.read_content(:bar, :to_sym).should == :baz
|
63
61
|
end
|
64
62
|
|
65
63
|
it 'provides a content writer' do
|
66
|
-
foo = Node.new
|
64
|
+
foo = Node.new 'foo'
|
67
65
|
foo.set_content_for :bar, 'baz'
|
68
|
-
foo.content_from(:bar).
|
66
|
+
foo.content_from(:bar).should == 'baz'
|
69
67
|
end
|
70
68
|
|
71
69
|
it 'provides a content writer that removes a child when set to nil' do
|
72
|
-
foo = Node.new
|
70
|
+
foo = Node.new 'foo'
|
73
71
|
foo << (bar = Node.new('bar', foo.document))
|
74
72
|
bar.content = 'baz'
|
75
|
-
foo.content_from(:bar).
|
76
|
-
foo.xpath('bar').
|
73
|
+
foo.content_from(:bar).should == 'baz'
|
74
|
+
foo.xpath('bar').should_not be_empty
|
77
75
|
|
78
76
|
foo.set_content_for :bar, nil
|
79
|
-
foo.content_from(:bar).
|
80
|
-
foo.xpath('bar').
|
77
|
+
foo.content_from(:bar).should be_nil
|
78
|
+
foo.xpath('bar').should be_empty
|
81
79
|
end
|
82
80
|
|
83
81
|
it 'provides "attr_accessor" for namespace' do
|
84
|
-
n = Node.new
|
85
|
-
n.namespace.
|
82
|
+
n = Node.new 'foo'
|
83
|
+
n.namespace.should be_nil
|
86
84
|
|
87
85
|
n.namespace = 'foo:bar'
|
88
|
-
n.namespace_href.
|
86
|
+
n.namespace_href.should == 'foo:bar'
|
89
87
|
end
|
90
88
|
|
91
89
|
it 'will remove a child element' do
|
@@ -93,9 +91,9 @@ module Niceogiri
|
|
93
91
|
n << Node.new('bar', n.document)
|
94
92
|
n << Node.new('bar', n.document)
|
95
93
|
|
96
|
-
n.find(:bar).size.
|
94
|
+
n.find(:bar).size.should == 2
|
97
95
|
n.remove_child 'bar'
|
98
|
-
n.find(:bar).size.
|
96
|
+
n.find(:bar).size.should == 1
|
99
97
|
end
|
100
98
|
|
101
99
|
it 'will remove a child with a specific xmlns' do
|
@@ -105,11 +103,11 @@ module Niceogiri
|
|
105
103
|
c.namespace = 'foo:bar'
|
106
104
|
n << c
|
107
105
|
|
108
|
-
n.find(:bar).size.
|
109
|
-
n.find('//xmlns:bar', :xmlns => 'foo:bar').size.
|
106
|
+
n.find(:bar).size.should == 1
|
107
|
+
n.find('//xmlns:bar', :xmlns => 'foo:bar').size.should == 1
|
110
108
|
n.remove_child '//xmlns:bar', :xmlns => 'foo:bar'
|
111
|
-
n.find(:bar).size.
|
112
|
-
n.find('//xmlns:bar', :xmlns => 'foo:bar').size.
|
109
|
+
n.find(:bar).size.should == 1
|
110
|
+
n.find('//xmlns:bar', :xmlns => 'foo:bar').size.should == 0
|
113
111
|
end
|
114
112
|
|
115
113
|
it 'will remove all child elements' do
|
@@ -117,16 +115,16 @@ module Niceogiri
|
|
117
115
|
n << Node.new('bar')
|
118
116
|
n << Node.new('bar')
|
119
117
|
|
120
|
-
n.find(:bar).size.
|
118
|
+
n.find(:bar).size.should == 2
|
121
119
|
n.remove_children 'bar'
|
122
|
-
n.find(:bar).size.
|
120
|
+
n.find(:bar).size.should == 0
|
123
121
|
end
|
124
122
|
|
125
123
|
it 'provides a copy mechanism' do
|
126
124
|
n = Node.new 'foo'
|
127
125
|
n2 = n.copy
|
128
|
-
n2.object_id.
|
129
|
-
n2.element_name.
|
126
|
+
n2.object_id.should_not == n.object_id
|
127
|
+
n2.element_name.should == n.element_name
|
130
128
|
end
|
131
129
|
|
132
130
|
it 'provides an inherit mechanism' do
|
@@ -136,15 +134,15 @@ module Niceogiri
|
|
136
134
|
n2['foo'] = 'bar'
|
137
135
|
|
138
136
|
n.inherit(n2)
|
139
|
-
n['foo'].
|
140
|
-
n.content.
|
141
|
-
n2.to_s.
|
137
|
+
n['foo'].should == 'bar'
|
138
|
+
n.content.should == 'bar'
|
139
|
+
n2.to_s.should == n.to_s
|
142
140
|
end
|
143
141
|
|
144
142
|
it 'holds on to namespaces when inheriting content' do
|
145
143
|
n = Nokogiri::XML.parse('<message><bar:foo xmlns:bar="http://bar.com"></message>').root
|
146
144
|
n2 = Node.new('message').inherit n
|
147
|
-
n2.to_s.
|
145
|
+
n2.to_s.should == n.to_s
|
148
146
|
end
|
149
147
|
|
150
148
|
it 'provides a mechanism to inherit attrs' do
|
@@ -153,51 +151,50 @@ module Niceogiri
|
|
153
151
|
n2['foo'] = 'bar'
|
154
152
|
|
155
153
|
n.inherit_attrs(n2.attributes)
|
156
|
-
n['foo'].
|
154
|
+
n['foo'].should == 'bar'
|
157
155
|
end
|
158
156
|
|
159
157
|
it 'has a content_from helper that pulls the content from a child node' do
|
160
|
-
f = Node.new
|
158
|
+
f = Node.new 'foo'
|
161
159
|
f << (b = Node.new('bar'))
|
162
160
|
b.content = 'content'
|
163
|
-
f.content_from(:bar).
|
161
|
+
f.content_from(:bar).should == 'content'
|
164
162
|
end
|
165
163
|
|
166
164
|
it 'returns nil when sent #content_from and a missing node' do
|
167
|
-
|
168
|
-
f.content_from(:bar).must_be_nil
|
165
|
+
Node.new('foo').content_from(:bar).should be_nil
|
169
166
|
end
|
170
167
|
|
171
168
|
it 'creates a new node and sets content when sent #set_content_for' do
|
172
|
-
f = Node.new
|
173
|
-
f.
|
174
|
-
f.xpath('bar').
|
169
|
+
f = Node.new 'foo'
|
170
|
+
f.should respond_to :set_content_for
|
171
|
+
f.xpath('bar').should be_empty
|
175
172
|
f.set_content_for :bar, :baz
|
176
|
-
f.xpath('bar').
|
177
|
-
f.xpath('bar').first.content.
|
173
|
+
f.xpath('bar').should_not be_empty
|
174
|
+
f.xpath('bar').first.content.should == 'baz'
|
178
175
|
end
|
179
176
|
|
180
177
|
it 'removes a child node when sent #set_content_for with nil' do
|
181
|
-
f = Node.new
|
178
|
+
f = Node.new 'foo'
|
182
179
|
f << (b = Node.new('bar'))
|
183
|
-
f.
|
184
|
-
f.xpath('bar').
|
180
|
+
f.should respond_to :set_content_for
|
181
|
+
f.xpath('bar').should_not be_empty
|
185
182
|
f.set_content_for :bar, nil
|
186
|
-
f.xpath('bar').
|
183
|
+
f.xpath('bar').should be_empty
|
187
184
|
end
|
188
185
|
|
189
186
|
it 'will change the content of an existing node when sent #set_content_for' do
|
190
|
-
f = Node.new
|
187
|
+
f = Node.new 'foo'
|
191
188
|
f << (b = Node.new('bar'))
|
192
189
|
b.content = 'baz'
|
193
|
-
f.
|
194
|
-
f.xpath('bar').
|
195
|
-
f.xpath('bar').first.content.
|
190
|
+
f.should respond_to :set_content_for
|
191
|
+
f.xpath('bar').should_not be_empty
|
192
|
+
f.xpath('bar').first.content.should == 'baz'
|
196
193
|
control = f.xpath('bar').first.pointer_id
|
197
194
|
|
198
195
|
f.set_content_for :bar, 'fiz'
|
199
|
-
f.xpath('bar').first.content.
|
200
|
-
f.xpath('bar').first.pointer_id.
|
196
|
+
f.xpath('bar').first.content.should == 'fiz'
|
197
|
+
f.xpath('bar').first.pointer_id.should == control
|
201
198
|
end
|
202
199
|
end
|
203
200
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,11 @@
|
|
1
|
-
|
1
|
+
%w{
|
2
|
+
rspec
|
3
|
+
niceogiri
|
4
|
+
}.each { |lib| require lib }
|
2
5
|
|
3
|
-
require
|
4
|
-
require 'minitest/spec'
|
6
|
+
Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
|
5
7
|
|
6
|
-
|
8
|
+
RSpec.configure do |config|
|
9
|
+
config.filter_run :focus => true
|
10
|
+
config.run_all_when_everything_filtered = true
|
11
|
+
end
|
metadata
CHANGED
@@ -1,148 +1,97 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: niceogiri
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 4
|
10
|
-
version: 0.0.4
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Ben Langfeld
|
14
9
|
- Jeff Smick
|
15
10
|
autorequire:
|
16
11
|
bindir: bin
|
17
12
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
dependencies:
|
22
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2011-11-02 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
23
16
|
name: nokogiri
|
24
|
-
|
25
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &2152693940 !ruby/object:Gem::Requirement
|
26
18
|
none: false
|
27
|
-
requirements:
|
28
|
-
- -
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
|
31
|
-
segments:
|
32
|
-
- 1
|
33
|
-
- 4
|
34
|
-
- 0
|
35
|
-
version: 1.4.0
|
19
|
+
requirements:
|
20
|
+
- - ~>
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.4.6
|
36
23
|
type: :runtime
|
37
|
-
version_requirements: *id001
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: minitest
|
40
24
|
prerelease: false
|
41
|
-
|
25
|
+
version_requirements: *2152693940
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rspec
|
28
|
+
requirement: &2152693420 !ruby/object:Gem::Requirement
|
42
29
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
|
47
|
-
segments:
|
48
|
-
- 1
|
49
|
-
- 7
|
50
|
-
- 1
|
51
|
-
version: 1.7.1
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.7.0
|
52
34
|
type: :development
|
53
|
-
version_requirements: *id002
|
54
|
-
- !ruby/object:Gem::Dependency
|
55
|
-
name: bundler
|
56
35
|
prerelease: false
|
57
|
-
|
36
|
+
version_requirements: *2152693420
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: bundler
|
39
|
+
requirement: &2152692920 !ruby/object:Gem::Requirement
|
58
40
|
none: false
|
59
|
-
requirements:
|
41
|
+
requirements:
|
60
42
|
- - ~>
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
hash: 23
|
63
|
-
segments:
|
64
|
-
- 1
|
65
|
-
- 0
|
66
|
-
- 0
|
43
|
+
- !ruby/object:Gem::Version
|
67
44
|
version: 1.0.0
|
68
45
|
type: :development
|
69
|
-
version_requirements: *id003
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: rcov
|
72
46
|
prerelease: false
|
73
|
-
|
74
|
-
|
75
|
-
requirements:
|
76
|
-
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
78
|
-
hash: 41
|
79
|
-
segments:
|
80
|
-
- 0
|
81
|
-
- 9
|
82
|
-
- 9
|
83
|
-
version: 0.9.9
|
84
|
-
type: :development
|
85
|
-
version_requirements: *id004
|
86
|
-
- !ruby/object:Gem::Dependency
|
47
|
+
version_requirements: *2152692920
|
48
|
+
- !ruby/object:Gem::Dependency
|
87
49
|
name: yard
|
88
|
-
|
89
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
50
|
+
requirement: &2152692420 !ruby/object:Gem::Requirement
|
90
51
|
none: false
|
91
|
-
requirements:
|
52
|
+
requirements:
|
92
53
|
- - ~>
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
hash: 5
|
95
|
-
segments:
|
96
|
-
- 0
|
97
|
-
- 6
|
98
|
-
- 1
|
54
|
+
- !ruby/object:Gem::Version
|
99
55
|
version: 0.6.1
|
100
56
|
type: :development
|
101
|
-
version_requirements: *id005
|
102
|
-
- !ruby/object:Gem::Dependency
|
103
|
-
name: bluecloth
|
104
57
|
prerelease: false
|
105
|
-
|
58
|
+
version_requirements: *2152692420
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: rake
|
61
|
+
requirement: &2152692040 !ruby/object:Gem::Requirement
|
106
62
|
none: false
|
107
|
-
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
|
111
|
-
segments:
|
112
|
-
- 2
|
113
|
-
- 1
|
114
|
-
- 0
|
115
|
-
version: 2.1.0
|
63
|
+
requirements:
|
64
|
+
- - ! '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
116
67
|
type: :development
|
117
|
-
version_requirements: *id006
|
118
|
-
- !ruby/object:Gem::Dependency
|
119
|
-
name: rake
|
120
68
|
prerelease: false
|
121
|
-
|
69
|
+
version_requirements: *2152692040
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: guard-rspec
|
72
|
+
requirement: &2152691520 !ruby/object:Gem::Requirement
|
122
73
|
none: false
|
123
|
-
requirements:
|
124
|
-
- -
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
|
127
|
-
segments:
|
128
|
-
- 0
|
129
|
-
version: "0"
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
130
78
|
type: :development
|
131
|
-
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: *2152691520
|
132
81
|
description: Make dealing with XML less painful
|
133
|
-
email:
|
82
|
+
email:
|
134
83
|
- ben@langfeld.me
|
135
84
|
- sprsquish@gmail.com
|
136
85
|
executables: []
|
137
|
-
|
138
86
|
extensions: []
|
139
|
-
|
140
|
-
extra_rdoc_files:
|
87
|
+
extra_rdoc_files:
|
141
88
|
- LICENSE
|
142
89
|
- README.md
|
143
|
-
files:
|
90
|
+
files:
|
144
91
|
- .gitignore
|
92
|
+
- .rspec
|
145
93
|
- Gemfile
|
94
|
+
- Guardfile
|
146
95
|
- LICENSE
|
147
96
|
- README.md
|
148
97
|
- Rakefile
|
@@ -154,41 +103,38 @@ files:
|
|
154
103
|
- spec/niceogiri/core_ext/nokogiri_spec.rb
|
155
104
|
- spec/niceogiri/xml/node_spec.rb
|
156
105
|
- spec/spec_helper.rb
|
157
|
-
has_rdoc: true
|
158
106
|
homepage: https://github.com/benlangfeld/Niceogiri
|
159
107
|
licenses: []
|
160
|
-
|
161
108
|
post_install_message:
|
162
|
-
rdoc_options:
|
109
|
+
rdoc_options:
|
163
110
|
- --charset=UTF-8
|
164
|
-
require_paths:
|
111
|
+
require_paths:
|
165
112
|
- lib
|
166
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
113
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
167
114
|
none: false
|
168
|
-
requirements:
|
169
|
-
- -
|
170
|
-
- !ruby/object:Gem::Version
|
171
|
-
|
172
|
-
segments:
|
115
|
+
requirements:
|
116
|
+
- - ! '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
segments:
|
173
120
|
- 0
|
174
|
-
|
175
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
|
+
hash: 914953420046806191
|
122
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
123
|
none: false
|
177
|
-
requirements:
|
178
|
-
- -
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
|
181
|
-
segments:
|
124
|
+
requirements:
|
125
|
+
- - ! '>='
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '0'
|
128
|
+
segments:
|
182
129
|
- 0
|
183
|
-
|
130
|
+
hash: 914953420046806191
|
184
131
|
requirements: []
|
185
|
-
|
186
132
|
rubyforge_project:
|
187
|
-
rubygems_version: 1.
|
133
|
+
rubygems_version: 1.8.10
|
188
134
|
signing_key:
|
189
135
|
specification_version: 3
|
190
136
|
summary: Some additional niceties atop Nokogiri
|
191
|
-
test_files:
|
137
|
+
test_files:
|
192
138
|
- spec/niceogiri/core_ext/nokogiri_spec.rb
|
193
139
|
- spec/niceogiri/xml/node_spec.rb
|
194
140
|
- spec/spec_helper.rb
|