multisax 0.0.4.2 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.coveralls.yml +1 -0
- data/.gitignore +1 -0
- data/.travis.yml +3 -1
- data/CHANGELOG.md +4 -0
- data/Gemfile +12 -5
- data/README.md +2 -2
- data/lib/multisax.rb +41 -7
- data/multisax.gemspec +2 -2
- data/spec/multisax_spec.rb +51 -1
- data/spec/spec_helper.rb +5 -0
- metadata +6 -6
- data/Gemfile.lock +0 -243
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f38b71e537730a19339187f021b9583d77d08026
|
4
|
+
data.tar.gz: 19cfb427e3aec1c33978a14f418b6f5885a257ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ace66357012bd8240efd7fb2d659ee6c1a111c42141f5e40095bcef1f37e851b2372067913252b27d220a6c782e377bf08b1fdb879fec34420a04e0ab25cb32
|
7
|
+
data.tar.gz: a7298fc9c670484e5024bbdaa403bfc0589a466f1d07fc305cb4e85dbc88c80bc94f4d21ea724326f56cd946d45199478a0d4541e46a405d28b813a9a3c8bffd
|
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
service_name: travis-ci
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -9,6 +9,8 @@ rvm:
|
|
9
9
|
- 1.9.3
|
10
10
|
- 2.0.0
|
11
11
|
- 2.1.0
|
12
|
+
- 2.1.1
|
13
|
+
- 2.1.2
|
12
14
|
- ruby-head
|
13
15
|
- jruby-18mode
|
14
16
|
- jruby-19mode
|
@@ -20,10 +22,10 @@ rvm:
|
|
20
22
|
matrix:
|
21
23
|
allow_failures:
|
22
24
|
- rvm: ruby-head
|
25
|
+
- rvm: jruby-head
|
23
26
|
- rvm: jruby-18mode
|
24
27
|
- rvm: jruby-19mode
|
25
28
|
- rvm: jruby-20mode
|
26
29
|
- rvm: jruby-21mode
|
27
|
-
- rvm: jruby-head
|
28
30
|
- rvm: rbx-2.1.1
|
29
31
|
- rvm: rbx-2.2.3
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -5,13 +5,15 @@ platforms :rbx do
|
|
5
5
|
gem 'racc' # nokogiri
|
6
6
|
end
|
7
7
|
|
8
|
-
#This clause is broken. So, please do not use bundle install if you are not developing multisax.
|
9
8
|
group :test do
|
10
|
-
|
11
|
-
|
12
|
-
|
9
|
+
if RUBY_VERSION>='1.9'
|
10
|
+
gem 'nokogiri', '~> 1.6.0' # Used workaround here; actually 1.7.x should also be OK...
|
11
|
+
else
|
13
12
|
gem 'nokogiri', '~> 1.5.0'
|
14
|
-
|
13
|
+
end
|
14
|
+
if RUBY_VERSION>='1.9.3'
|
15
|
+
gem 'oga'
|
16
|
+
end
|
15
17
|
platforms :ruby do
|
16
18
|
gem 'libxml-ruby'
|
17
19
|
gem 'ox'
|
@@ -20,8 +22,13 @@ group :test do
|
|
20
22
|
end
|
21
23
|
|
22
24
|
group :development, :test do
|
25
|
+
if RUBY_VERSION<'1.9'
|
26
|
+
gem 'mime-types', '~> 1.0'
|
27
|
+
gem 'rest-client', '~> 1.6.0'
|
28
|
+
end
|
23
29
|
gem 'bundler', '>= 1.0'
|
24
30
|
gem 'rake'
|
25
31
|
gem 'rspec'
|
26
32
|
gem 'simplecov'
|
33
|
+
gem 'coveralls', :require => false
|
27
34
|
end
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# multisax
|
2
2
|
A module which allows multiple SAX library transparently.
|
3
3
|
|
4
|
-
[![Build Status](https://travis-ci.org/cielavenir/multisax.png)](https://travis-ci.org/cielavenir/multisax) [![Code Climate](https://codeclimate.com/github/cielavenir/multisax.png)](https://codeclimate.com/github/cielavenir/multisax)
|
4
|
+
[![Build Status](https://travis-ci.org/cielavenir/multisax.png)](https://travis-ci.org/cielavenir/multisax) [![Code Climate](https://codeclimate.com/github/cielavenir/multisax.png)](https://codeclimate.com/github/cielavenir/multisax) [![Coverage Status](https://coveralls.io/repos/cielavenir/multisax/badge.png)](https://coveralls.io/r/cielavenir/multisax)
|
5
5
|
|
6
6
|
## Supported Ruby versions
|
7
7
|
* Ruby 1.8.7 or later
|
@@ -77,5 +77,5 @@ listener.content.each{...}
|
|
77
77
|
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
78
78
|
|
79
79
|
## Copyright
|
80
|
-
Copyright (c)
|
80
|
+
Copyright (c) 2014 T. Yamada under Ruby License (2-clause BSDL or Artistic).
|
81
81
|
See LICENSE.txt for further details.
|
data/lib/multisax.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# MultiSAX: Ruby Gem to handle multiple SAX libraries
|
2
2
|
#
|
3
|
-
# Copyright (c)
|
3
|
+
# Copyright (c) 2014, T. Yamada under Ruby License (2-clause BSDL or Artistic).
|
4
4
|
#
|
5
5
|
# Check LICENSE terms.
|
6
6
|
#
|
@@ -8,27 +8,27 @@
|
|
8
8
|
|
9
9
|
module MultiSAX
|
10
10
|
# VERSION string
|
11
|
-
VERSION='0.0.
|
11
|
+
VERSION='0.0.5'
|
12
12
|
|
13
13
|
# The class to handle XML libraries.
|
14
14
|
class SAX
|
15
15
|
# constructor.
|
16
|
-
# list cannot be passed directly, since you should the retval of open().
|
16
|
+
# list cannot be passed directly, since you should check the retval of open().
|
17
17
|
def initialize
|
18
18
|
@parser=nil
|
19
19
|
end
|
20
20
|
# Library loader.
|
21
21
|
# Arguments are list (or Array) of libraries.
|
22
22
|
# if list is empty or :XML, the following are searched (order by speed):
|
23
|
-
# :ox, :libxml, :xmlparser, :nokogiri, :rexmlstream, :rexmlsax2
|
23
|
+
# :ox, :libxml, :xmlparser, :nokogiri, :oga, :rexmlstream, :rexmlsax2
|
24
24
|
# if list is :HTML, the following are searched (order by speed):
|
25
|
-
# :oxhtml, :nokogirihtml
|
25
|
+
# :oxhtml, :nokogirihtml, :ogahtml
|
26
26
|
# You can also specify libraries individually.
|
27
27
|
# If multiple selected, MultiSAX will try the libraries one by one and use the first usable one.
|
28
28
|
def open(*list)
|
29
29
|
return @parser if @parser
|
30
|
-
list=[:ox,:libxml,:xmlparser,:nokogiri,:rexmlstream,:rexmlsax2] if list.
|
31
|
-
list=[:oxhtml,:nokogirihtml] if list==[:HTML]
|
30
|
+
list=[:ox,:libxml,:xmlparser,:nokogiri,:oga,:rexmlstream,:rexmlsax2] if list.empty?||list==[:XML]
|
31
|
+
list=[:oxhtml,:nokogirihtml,:ogahtml] if list==[:HTML]
|
32
32
|
list.each{|e_module|
|
33
33
|
case e_module
|
34
34
|
when :ox,:oxhtml
|
@@ -115,6 +115,36 @@ module MultiSAX
|
|
115
115
|
def xmldecl(version,encoding,standalone) @obj.sax_xmldecl(version,encoding,standalone) end
|
116
116
|
}
|
117
117
|
break
|
118
|
+
when :oga,:ogahtml
|
119
|
+
next if RUBY_VERSION<'1.9'
|
120
|
+
begin
|
121
|
+
require 'oga'
|
122
|
+
rescue LoadError;next end
|
123
|
+
@parser=e_module
|
124
|
+
@saxhelper=Class.new{
|
125
|
+
def __init__(obj)
|
126
|
+
@obj=obj
|
127
|
+
@stack=[]
|
128
|
+
self
|
129
|
+
end
|
130
|
+
def on_element(ns,tag,attrs)
|
131
|
+
tag_name=(ns ? (ns+':') : '')+tag
|
132
|
+
@stack.push(tag_name)
|
133
|
+
@obj.sax_tag_start(tag_name,Hash[*attrs.map{|e|[e.name,e.value]}.flatten(1)])
|
134
|
+
return tag_name
|
135
|
+
end
|
136
|
+
def after_element(reserved)
|
137
|
+
@obj.sax_tag_end(@stack.pop)
|
138
|
+
end
|
139
|
+
def on_text(txt) @obj.sax_text(txt) end
|
140
|
+
def on_cdata(txt) @obj.sax_cdata(txt) end
|
141
|
+
def on_comment(txt) @obj.sax_comment(txt) end
|
142
|
+
def on_xml_decl(args)
|
143
|
+
attrs=Hash[*args.map{|e|[e.name,e.value]}.flatten(1)]
|
144
|
+
@obj.sax_xmldecl(attrs['version'],attrs['encoding'],attrs['standalone'])
|
145
|
+
end
|
146
|
+
}
|
147
|
+
break
|
118
148
|
when :xmlparser
|
119
149
|
begin
|
120
150
|
require 'xml/saxdriver'
|
@@ -213,6 +243,8 @@ module MultiSAX
|
|
213
243
|
when :libxml then parser=LibXML::XML::SaxParser.string(source);parser.callbacks=saxhelper;parser.parse
|
214
244
|
when :nokogiri then parser=Nokogiri::XML::SAX::Parser.new(saxhelper);parser.parse(source)
|
215
245
|
when :nokogirihtml then parser=Nokogiri::HTML::SAX::Parser.new(saxhelper);parser.parse(source)
|
246
|
+
when :oga then parser=Oga::XML::SaxParser.new(saxhelper,source);parser.parse
|
247
|
+
when :ogahtml then parser=Oga::HTML::SaxParser.new(saxhelper,source);parser.parse
|
216
248
|
when :xmlparser then saxhelper.parse(source)
|
217
249
|
when :rexmlstream then REXML::Parsers::StreamParser.new(source,saxhelper).parse
|
218
250
|
when :rexmlsax2 then parser=REXML::Parsers::SAX2Parser.new(source);parser.listen(saxhelper);parser.parse
|
@@ -224,6 +256,8 @@ module MultiSAX
|
|
224
256
|
when :libxml then parser=LibXML::XML::SaxParser.io(source);parser.callbacks=saxhelper;parser.parse
|
225
257
|
when :nokogiri then parser=Nokogiri::XML::SAX::Parser.new(saxhelper);parser.parse(source)
|
226
258
|
when :nokogirihtml then parser=Nokogiri::HTML::SAX::Parser.new(saxhelper);parser.parse(source.read) # fixme: nokogirihtml IO doesn't allow errors.
|
259
|
+
when :oga then parser=Oga::XML::SaxParser.new(saxhelper,source);parser.parse
|
260
|
+
when :ogahtml then parser=Oga::HTML::SaxParser.new(saxhelper,source);parser.parse
|
227
261
|
when :xmlparser then saxhelper.parse(source)
|
228
262
|
when :rexmlstream then REXML::Parsers::StreamParser.new(source,saxhelper).parse
|
229
263
|
when :rexmlsax2 then parser=REXML::Parsers::SAX2Parser.new(source);parser.listen(saxhelper);parser.parse
|
data/multisax.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |spec|
|
|
6
6
|
spec.version = MultiSAX::VERSION
|
7
7
|
spec.authors = ["cielavenir"]
|
8
8
|
spec.email = ["cielartisan@gmail.com"]
|
9
|
-
spec.description = "Ruby Gem to handle multiple SAX libraries: ox/libxml/nokogiri/xmlparser(expat)/rexml"
|
9
|
+
spec.description = "Ruby Gem to handle multiple SAX libraries: ox/libxml/nokogiri/oga/xmlparser(expat)/rexml"
|
10
10
|
spec.summary = "Ruby Gem to handle multiple SAX libraries"
|
11
11
|
spec.homepage = "http://github.com/cielavenir/multisax"
|
12
12
|
spec.license = "Ruby License (2-clause BSDL or Artistic)"
|
@@ -24,5 +24,5 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_development_dependency "bundler", ">= 1.0"
|
25
25
|
spec.add_development_dependency "rake"
|
26
26
|
spec.add_development_dependency "rspec"
|
27
|
-
spec.requirements << "Optional dependencies: libxml-ruby, nokogiri,
|
27
|
+
spec.requirements << "Optional dependencies: ox, libxml-ruby, nokogiri, oga, xmlparser"
|
28
28
|
end
|
data/spec/multisax_spec.rb
CHANGED
@@ -38,7 +38,7 @@ xml_answer=['ns','zzz:hello','sax$','span','world','span','zzz:hello','ns']
|
|
38
38
|
describe "[XML] MultiSAX::Sax.parse(String)" do
|
39
39
|
it "fails on :unknown" do
|
40
40
|
MultiSAX::Sax.reset
|
41
|
-
MultiSAX::Sax.open(:unknown).should
|
41
|
+
MultiSAX::Sax.open(:unknown).should be_falsey
|
42
42
|
end
|
43
43
|
it "uses :rexmlstream" do
|
44
44
|
MultiSAX::Sax.reset
|
@@ -59,6 +59,7 @@ describe "[XML] MultiSAX::Sax.parse(String)" do
|
|
59
59
|
listener.xmlencoding.should eq 'UTF-8'
|
60
60
|
end
|
61
61
|
it "uses :ox" do
|
62
|
+
pending 'ox is not supported by jruby' if defined?(RUBY_ENGINE)&&RUBY_ENGINE=='jruby'
|
62
63
|
MultiSAX::Sax.reset
|
63
64
|
MultiSAX::Sax.open(:ox)
|
64
65
|
MultiSAX::Sax.parser.should eq :ox
|
@@ -68,6 +69,7 @@ describe "[XML] MultiSAX::Sax.parse(String)" do
|
|
68
69
|
listener.xmlencoding.should eq 'UTF-8'
|
69
70
|
end
|
70
71
|
it "uses :libxml" do
|
72
|
+
pending 'libxml is not supported by jruby' if defined?(RUBY_ENGINE)&&RUBY_ENGINE=='jruby'
|
71
73
|
MultiSAX::Sax.reset
|
72
74
|
MultiSAX::Sax.open(:libxml)
|
73
75
|
MultiSAX::Sax.parser.should eq :libxml
|
@@ -85,7 +87,19 @@ describe "[XML] MultiSAX::Sax.parse(String)" do
|
|
85
87
|
listener.attrib.should eq 'foo'
|
86
88
|
listener.xmlencoding.should eq 'UTF-8'
|
87
89
|
end
|
90
|
+
it "uses :oga" do
|
91
|
+
pending 'oga requires Ruby >=1.9.3' if RUBY_VERSION<'1.9.3'
|
92
|
+
MultiSAX::Sax.reset
|
93
|
+
MultiSAX::Sax.open(:oga)
|
94
|
+
MultiSAX::Sax.parser.should eq :oga
|
95
|
+
listener=MultiSAX::Sax.parse(input_xml,MultiSAXTester.new)
|
96
|
+
listener.result.should eq xml_answer
|
97
|
+
listener.attrib.should eq 'foo'
|
98
|
+
listener.xmlencoding.should eq 'UTF-8'
|
99
|
+
end
|
88
100
|
it "uses :xmlparser" do
|
101
|
+
pending 'xmlparser is not supported by jruby' if defined?(RUBY_ENGINE)&&RUBY_ENGINE=='jruby'
|
102
|
+
pending 'xmlparser is not supported by rubinius' if defined?(RUBY_ENGINE)&&RUBY_ENGINE=='rbx'
|
89
103
|
MultiSAX::Sax.reset
|
90
104
|
MultiSAX::Sax.open(:xmlparser)
|
91
105
|
MultiSAX::Sax.parser.should eq :xmlparser
|
@@ -116,6 +130,7 @@ describe "[XML] MultiSAX::Sax.parse(IO)" do
|
|
116
130
|
listener.xmlencoding.should eq 'UTF-8'
|
117
131
|
end
|
118
132
|
it "uses :ox" do
|
133
|
+
pending 'ox is not supported by jruby' if defined?(RUBY_ENGINE)&&RUBY_ENGINE=='jruby'
|
119
134
|
MultiSAX::Sax.reset
|
120
135
|
MultiSAX::Sax.open(:ox)
|
121
136
|
MultiSAX::Sax.parser.should eq :ox
|
@@ -125,6 +140,7 @@ describe "[XML] MultiSAX::Sax.parse(IO)" do
|
|
125
140
|
listener.xmlencoding.should eq 'UTF-8'
|
126
141
|
end
|
127
142
|
it "uses :libxml" do
|
143
|
+
pending 'libxml is not supported by jruby' if defined?(RUBY_ENGINE)&&RUBY_ENGINE=='jruby'
|
128
144
|
MultiSAX::Sax.reset
|
129
145
|
MultiSAX::Sax.open(:libxml)
|
130
146
|
MultiSAX::Sax.parser.should eq :libxml
|
@@ -142,7 +158,19 @@ describe "[XML] MultiSAX::Sax.parse(IO)" do
|
|
142
158
|
listener.attrib.should eq 'foo'
|
143
159
|
listener.xmlencoding.should eq 'UTF-8'
|
144
160
|
end
|
161
|
+
it "uses :oga" do
|
162
|
+
pending 'oga requires Ruby >=1.9.3' if RUBY_VERSION<'1.9.3'
|
163
|
+
MultiSAX::Sax.reset
|
164
|
+
MultiSAX::Sax.open(:oga)
|
165
|
+
MultiSAX::Sax.parser.should eq :oga
|
166
|
+
listener=MultiSAX::Sax.parse(StringIO.new(input_xml),MultiSAXTester.new)
|
167
|
+
listener.result.should eq xml_answer
|
168
|
+
listener.attrib.should eq 'foo'
|
169
|
+
listener.xmlencoding.should eq 'UTF-8'
|
170
|
+
end
|
145
171
|
it "uses :xmlparser" do
|
172
|
+
pending 'xmlparser is not supported by jruby' if defined?(RUBY_ENGINE)&&RUBY_ENGINE=='jruby'
|
173
|
+
pending 'xmlparser is not supported by rubinius' if defined?(RUBY_ENGINE)&&RUBY_ENGINE=='rbx'
|
146
174
|
MultiSAX::Sax.reset
|
147
175
|
MultiSAX::Sax.open(:xmlparser)
|
148
176
|
MultiSAX::Sax.parser.should eq :xmlparser
|
@@ -167,6 +195,7 @@ html_answer=['html','head','head','body','span','hello','span','body','html']
|
|
167
195
|
|
168
196
|
describe "[HTML] MultiSAX::Sax.parse(String)" do
|
169
197
|
it "uses :oxhtml" do
|
198
|
+
pending 'ox is not supported by jruby' if defined?(RUBY_ENGINE)&&RUBY_ENGINE=='jruby'
|
170
199
|
MultiSAX::Sax.reset
|
171
200
|
MultiSAX::Sax.open(:oxhtml)
|
172
201
|
MultiSAX::Sax.parser.should eq :oxhtml
|
@@ -182,10 +211,21 @@ describe "[HTML] MultiSAX::Sax.parse(String)" do
|
|
182
211
|
listener.result.should eq html_answer
|
183
212
|
listener.attrib.should eq 'foo'
|
184
213
|
end
|
214
|
+
it "uses :ogahtml" do
|
215
|
+
pending 'oga requires Ruby >=1.9.3' if RUBY_VERSION<'1.9.3'
|
216
|
+
pending 'oga does not like broken HTML'
|
217
|
+
MultiSAX::Sax.reset
|
218
|
+
MultiSAX::Sax.open(:ogahtml)
|
219
|
+
MultiSAX::Sax.parser.should eq :ogahtml
|
220
|
+
listener=MultiSAX::Sax.parse(input_html,MultiSAXTester.new)
|
221
|
+
listener.result.should eq html_answer
|
222
|
+
listener.attrib.should eq 'foo'
|
223
|
+
end
|
185
224
|
end
|
186
225
|
|
187
226
|
describe "[HTML] MultiSAX::Sax.parse(IO)" do
|
188
227
|
it "uses :oxhtml" do
|
228
|
+
pending 'ox is not supported by jruby' if defined?(RUBY_ENGINE)&&RUBY_ENGINE=='jruby'
|
189
229
|
MultiSAX::Sax.reset
|
190
230
|
MultiSAX::Sax.open(:oxhtml)
|
191
231
|
MultiSAX::Sax.parser.should eq :oxhtml
|
@@ -201,4 +241,14 @@ describe "[HTML] MultiSAX::Sax.parse(IO)" do
|
|
201
241
|
listener.result.should eq html_answer
|
202
242
|
listener.attrib.should eq 'foo'
|
203
243
|
end
|
244
|
+
it "uses :ogahtml" do
|
245
|
+
pending 'oga requires Ruby >=1.9.3' if RUBY_VERSION<'1.9.3'
|
246
|
+
pending 'oga does not like broken HTML'
|
247
|
+
MultiSAX::Sax.reset
|
248
|
+
MultiSAX::Sax.open(:ogahtml)
|
249
|
+
MultiSAX::Sax.parser.should eq :ogahtml
|
250
|
+
listener=MultiSAX::Sax.parse(StringIO.new(input_html),MultiSAXTester.new)
|
251
|
+
listener.result.should eq html_answer
|
252
|
+
listener.attrib.should eq 'foo'
|
253
|
+
end
|
204
254
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -16,6 +16,11 @@ end
|
|
16
16
|
|
17
17
|
if !defined?(RUBY_ENGINE)||RUBY_ENGINE=='ruby'
|
18
18
|
require 'simplecov'
|
19
|
+
require 'coveralls'
|
20
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
21
|
+
SimpleCov::Formatter::HTMLFormatter,
|
22
|
+
Coveralls::SimpleCov::Formatter
|
23
|
+
]
|
19
24
|
SimpleCov.start do
|
20
25
|
add_filter 'spec'
|
21
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: multisax
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- cielavenir
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,18 +52,18 @@ dependencies:
|
|
52
52
|
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
description: 'Ruby Gem to handle multiple SAX libraries: ox/libxml/nokogiri/xmlparser(expat)/rexml'
|
55
|
+
description: 'Ruby Gem to handle multiple SAX libraries: ox/libxml/nokogiri/oga/xmlparser(expat)/rexml'
|
56
56
|
email:
|
57
57
|
- cielartisan@gmail.com
|
58
58
|
executables: []
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
+
- .coveralls.yml
|
62
63
|
- .gitignore
|
63
64
|
- .travis.yml
|
64
65
|
- CHANGELOG.md
|
65
66
|
- Gemfile
|
66
|
-
- Gemfile.lock
|
67
67
|
- LICENSE.txt
|
68
68
|
- README.md
|
69
69
|
- Rakefile
|
@@ -90,9 +90,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: '0'
|
92
92
|
requirements:
|
93
|
-
- 'Optional dependencies: libxml-ruby, nokogiri,
|
93
|
+
- 'Optional dependencies: ox, libxml-ruby, nokogiri, oga, xmlparser'
|
94
94
|
rubyforge_project:
|
95
|
-
rubygems_version: 2.0.
|
95
|
+
rubygems_version: 2.0.14
|
96
96
|
signing_key:
|
97
97
|
specification_version: 4
|
98
98
|
summary: Ruby Gem to handle multiple SAX libraries
|
data/Gemfile.lock
DELETED
@@ -1,243 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
diff-lcs (1.2.5)
|
5
|
-
docile (1.1.1)
|
6
|
-
ffi2-generators (0.1.1)
|
7
|
-
libxml-ruby (2.7.0)
|
8
|
-
multi_json (1.8.2)
|
9
|
-
nokogiri (1.5.11)
|
10
|
-
ox (2.0.12)
|
11
|
-
racc (1.4.10)
|
12
|
-
rake (10.1.1)
|
13
|
-
rspec (2.14.1)
|
14
|
-
rspec-core (~> 2.14.0)
|
15
|
-
rspec-expectations (~> 2.14.0)
|
16
|
-
rspec-mocks (~> 2.14.0)
|
17
|
-
rspec-core (2.14.7)
|
18
|
-
rspec-expectations (2.14.4)
|
19
|
-
diff-lcs (>= 1.1.3, < 2.0)
|
20
|
-
rspec-mocks (2.14.4)
|
21
|
-
rubysl (2.0.15)
|
22
|
-
rubysl-abbrev (~> 2.0)
|
23
|
-
rubysl-base64 (~> 2.0)
|
24
|
-
rubysl-benchmark (~> 2.0)
|
25
|
-
rubysl-bigdecimal (~> 2.0)
|
26
|
-
rubysl-cgi (~> 2.0)
|
27
|
-
rubysl-cgi-session (~> 2.0)
|
28
|
-
rubysl-cmath (~> 2.0)
|
29
|
-
rubysl-complex (~> 2.0)
|
30
|
-
rubysl-continuation (~> 2.0)
|
31
|
-
rubysl-coverage (~> 2.0)
|
32
|
-
rubysl-csv (~> 2.0)
|
33
|
-
rubysl-curses (~> 2.0)
|
34
|
-
rubysl-date (~> 2.0)
|
35
|
-
rubysl-delegate (~> 2.0)
|
36
|
-
rubysl-digest (~> 2.0)
|
37
|
-
rubysl-drb (~> 2.0)
|
38
|
-
rubysl-e2mmap (~> 2.0)
|
39
|
-
rubysl-english (~> 2.0)
|
40
|
-
rubysl-enumerator (~> 2.0)
|
41
|
-
rubysl-erb (~> 2.0)
|
42
|
-
rubysl-etc (~> 2.0)
|
43
|
-
rubysl-expect (~> 2.0)
|
44
|
-
rubysl-fcntl (~> 2.0)
|
45
|
-
rubysl-fiber (~> 2.0)
|
46
|
-
rubysl-fileutils (~> 2.0)
|
47
|
-
rubysl-find (~> 2.0)
|
48
|
-
rubysl-forwardable (~> 2.0)
|
49
|
-
rubysl-getoptlong (~> 2.0)
|
50
|
-
rubysl-gserver (~> 2.0)
|
51
|
-
rubysl-io-console (~> 2.0)
|
52
|
-
rubysl-io-nonblock (~> 2.0)
|
53
|
-
rubysl-io-wait (~> 2.0)
|
54
|
-
rubysl-ipaddr (~> 2.0)
|
55
|
-
rubysl-irb (~> 2.0)
|
56
|
-
rubysl-logger (~> 2.0)
|
57
|
-
rubysl-mathn (~> 2.0)
|
58
|
-
rubysl-matrix (~> 2.0)
|
59
|
-
rubysl-mkmf (~> 2.0)
|
60
|
-
rubysl-monitor (~> 2.0)
|
61
|
-
rubysl-mutex_m (~> 2.0)
|
62
|
-
rubysl-net-ftp (~> 2.0)
|
63
|
-
rubysl-net-http (~> 2.0)
|
64
|
-
rubysl-net-imap (~> 2.0)
|
65
|
-
rubysl-net-pop (~> 2.0)
|
66
|
-
rubysl-net-protocol (~> 2.0)
|
67
|
-
rubysl-net-smtp (~> 2.0)
|
68
|
-
rubysl-net-telnet (~> 2.0)
|
69
|
-
rubysl-nkf (~> 2.0)
|
70
|
-
rubysl-observer (~> 2.0)
|
71
|
-
rubysl-open-uri (~> 2.0)
|
72
|
-
rubysl-open3 (~> 2.0)
|
73
|
-
rubysl-openssl (~> 2.0)
|
74
|
-
rubysl-optparse (~> 2.0)
|
75
|
-
rubysl-ostruct (~> 2.0)
|
76
|
-
rubysl-pathname (~> 2.0)
|
77
|
-
rubysl-prettyprint (~> 2.0)
|
78
|
-
rubysl-prime (~> 2.0)
|
79
|
-
rubysl-profile (~> 2.0)
|
80
|
-
rubysl-profiler (~> 2.0)
|
81
|
-
rubysl-pstore (~> 2.0)
|
82
|
-
rubysl-pty (~> 2.0)
|
83
|
-
rubysl-rational (~> 2.0)
|
84
|
-
rubysl-readline (~> 2.0)
|
85
|
-
rubysl-resolv (~> 2.0)
|
86
|
-
rubysl-rexml (~> 2.0)
|
87
|
-
rubysl-rinda (~> 2.0)
|
88
|
-
rubysl-rss (~> 2.0)
|
89
|
-
rubysl-scanf (~> 2.0)
|
90
|
-
rubysl-securerandom (~> 2.0)
|
91
|
-
rubysl-set (~> 2.0)
|
92
|
-
rubysl-shellwords (~> 2.0)
|
93
|
-
rubysl-singleton (~> 2.0)
|
94
|
-
rubysl-socket (~> 2.0)
|
95
|
-
rubysl-stringio (~> 2.0)
|
96
|
-
rubysl-strscan (~> 2.0)
|
97
|
-
rubysl-sync (~> 2.0)
|
98
|
-
rubysl-syslog (~> 2.0)
|
99
|
-
rubysl-tempfile (~> 2.0)
|
100
|
-
rubysl-thread (~> 2.0)
|
101
|
-
rubysl-thwait (~> 2.0)
|
102
|
-
rubysl-time (~> 2.0)
|
103
|
-
rubysl-timeout (~> 2.0)
|
104
|
-
rubysl-tmpdir (~> 2.0)
|
105
|
-
rubysl-tsort (~> 2.0)
|
106
|
-
rubysl-un (~> 2.0)
|
107
|
-
rubysl-uri (~> 2.0)
|
108
|
-
rubysl-weakref (~> 2.0)
|
109
|
-
rubysl-webrick (~> 2.0)
|
110
|
-
rubysl-xmlrpc (~> 2.0)
|
111
|
-
rubysl-yaml (~> 2.0)
|
112
|
-
rubysl-zlib (~> 2.0)
|
113
|
-
rubysl-abbrev (2.0.4)
|
114
|
-
rubysl-base64 (2.0.0)
|
115
|
-
rubysl-benchmark (2.0.1)
|
116
|
-
rubysl-bigdecimal (2.0.2)
|
117
|
-
rubysl-cgi (2.0.1)
|
118
|
-
rubysl-cgi-session (2.0.1)
|
119
|
-
rubysl-cmath (2.0.0)
|
120
|
-
rubysl-complex (2.0.0)
|
121
|
-
rubysl-continuation (2.0.0)
|
122
|
-
rubysl-coverage (2.0.3)
|
123
|
-
rubysl-csv (2.0.2)
|
124
|
-
rubysl-english (~> 2.0)
|
125
|
-
rubysl-curses (2.0.1)
|
126
|
-
rubysl-date (2.0.6)
|
127
|
-
rubysl-delegate (2.0.1)
|
128
|
-
rubysl-digest (2.0.3)
|
129
|
-
rubysl-drb (2.0.1)
|
130
|
-
rubysl-e2mmap (2.0.0)
|
131
|
-
rubysl-english (2.0.0)
|
132
|
-
rubysl-enumerator (2.0.0)
|
133
|
-
rubysl-erb (2.0.1)
|
134
|
-
rubysl-etc (2.0.3)
|
135
|
-
ffi2-generators (~> 0.1)
|
136
|
-
rubysl-expect (2.0.0)
|
137
|
-
rubysl-fcntl (2.0.4)
|
138
|
-
ffi2-generators (~> 0.1)
|
139
|
-
rubysl-fiber (2.0.0)
|
140
|
-
rubysl-fileutils (2.0.3)
|
141
|
-
rubysl-find (2.0.1)
|
142
|
-
rubysl-forwardable (2.0.1)
|
143
|
-
rubysl-getoptlong (2.0.0)
|
144
|
-
rubysl-gserver (2.0.0)
|
145
|
-
rubysl-socket (~> 2.0)
|
146
|
-
rubysl-thread (~> 2.0)
|
147
|
-
rubysl-io-console (2.0.0)
|
148
|
-
rubysl-io-nonblock (2.0.0)
|
149
|
-
rubysl-io-wait (2.0.0)
|
150
|
-
rubysl-ipaddr (2.0.0)
|
151
|
-
rubysl-irb (2.0.4)
|
152
|
-
rubysl-e2mmap (~> 2.0)
|
153
|
-
rubysl-mathn (~> 2.0)
|
154
|
-
rubysl-readline (~> 2.0)
|
155
|
-
rubysl-thread (~> 2.0)
|
156
|
-
rubysl-logger (2.0.0)
|
157
|
-
rubysl-mathn (2.0.0)
|
158
|
-
rubysl-matrix (2.1.0)
|
159
|
-
rubysl-e2mmap (~> 2.0)
|
160
|
-
rubysl-mkmf (2.0.1)
|
161
|
-
rubysl-fileutils (~> 2.0)
|
162
|
-
rubysl-shellwords (~> 2.0)
|
163
|
-
rubysl-monitor (2.0.0)
|
164
|
-
rubysl-mutex_m (2.0.0)
|
165
|
-
rubysl-net-ftp (2.0.1)
|
166
|
-
rubysl-net-http (2.0.4)
|
167
|
-
rubysl-cgi (~> 2.0)
|
168
|
-
rubysl-erb (~> 2.0)
|
169
|
-
rubysl-singleton (~> 2.0)
|
170
|
-
rubysl-net-imap (2.0.1)
|
171
|
-
rubysl-net-pop (2.0.1)
|
172
|
-
rubysl-net-protocol (2.0.1)
|
173
|
-
rubysl-net-smtp (2.0.1)
|
174
|
-
rubysl-net-telnet (2.0.0)
|
175
|
-
rubysl-nkf (2.0.1)
|
176
|
-
rubysl-observer (2.0.0)
|
177
|
-
rubysl-open-uri (2.0.0)
|
178
|
-
rubysl-open3 (2.0.0)
|
179
|
-
rubysl-openssl (2.0.5)
|
180
|
-
rubysl-optparse (2.0.1)
|
181
|
-
rubysl-shellwords (~> 2.0)
|
182
|
-
rubysl-ostruct (2.0.4)
|
183
|
-
rubysl-pathname (2.0.0)
|
184
|
-
rubysl-prettyprint (2.0.2)
|
185
|
-
rubysl-prime (2.0.1)
|
186
|
-
rubysl-profile (2.0.0)
|
187
|
-
rubysl-profiler (2.0.1)
|
188
|
-
rubysl-pstore (2.0.0)
|
189
|
-
rubysl-pty (2.0.2)
|
190
|
-
rubysl-rational (2.0.1)
|
191
|
-
rubysl-readline (2.0.2)
|
192
|
-
rubysl-resolv (2.0.0)
|
193
|
-
rubysl-rexml (2.0.2)
|
194
|
-
rubysl-rinda (2.0.0)
|
195
|
-
rubysl-rss (2.0.0)
|
196
|
-
rubysl-scanf (2.0.0)
|
197
|
-
rubysl-securerandom (2.0.0)
|
198
|
-
rubysl-set (2.0.1)
|
199
|
-
rubysl-shellwords (2.0.0)
|
200
|
-
rubysl-singleton (2.0.0)
|
201
|
-
rubysl-socket (2.0.1)
|
202
|
-
rubysl-stringio (2.0.0)
|
203
|
-
rubysl-strscan (2.0.0)
|
204
|
-
rubysl-sync (2.0.0)
|
205
|
-
rubysl-syslog (2.0.1)
|
206
|
-
ffi2-generators (~> 0.1)
|
207
|
-
rubysl-tempfile (2.0.1)
|
208
|
-
rubysl-thread (2.0.2)
|
209
|
-
rubysl-thwait (2.0.0)
|
210
|
-
rubysl-time (2.0.3)
|
211
|
-
rubysl-timeout (2.0.0)
|
212
|
-
rubysl-tmpdir (2.0.0)
|
213
|
-
rubysl-tsort (2.0.1)
|
214
|
-
rubysl-un (2.0.0)
|
215
|
-
rubysl-fileutils (~> 2.0)
|
216
|
-
rubysl-optparse (~> 2.0)
|
217
|
-
rubysl-uri (2.0.0)
|
218
|
-
rubysl-weakref (2.0.0)
|
219
|
-
rubysl-webrick (2.0.0)
|
220
|
-
rubysl-xmlrpc (2.0.0)
|
221
|
-
rubysl-yaml (2.0.4)
|
222
|
-
rubysl-zlib (2.0.1)
|
223
|
-
simplecov (0.8.2)
|
224
|
-
docile (~> 1.1.0)
|
225
|
-
multi_json
|
226
|
-
simplecov-html (~> 0.8.0)
|
227
|
-
simplecov-html (0.8.0)
|
228
|
-
xmlparser (0.7.2.1)
|
229
|
-
|
230
|
-
PLATFORMS
|
231
|
-
ruby
|
232
|
-
|
233
|
-
DEPENDENCIES
|
234
|
-
bundler (>= 1.0)
|
235
|
-
libxml-ruby
|
236
|
-
nokogiri (~> 1.5.0)
|
237
|
-
ox
|
238
|
-
racc
|
239
|
-
rake
|
240
|
-
rspec
|
241
|
-
rubysl
|
242
|
-
simplecov
|
243
|
-
xmlparser
|