rexml 3.1.7.3 → 3.2.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rexml might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +21 -7
- data/NEWS.md +68 -0
- data/README.md +1 -1
- data/Rakefile +3 -5
- data/lib/rexml/attribute.rb +20 -7
- data/lib/rexml/doctype.rb +23 -6
- data/lib/rexml/element.rb +12 -10
- data/lib/rexml/formatters/default.rb +10 -6
- data/lib/rexml/instruction.rb +18 -10
- data/lib/rexml/namespace.rb +17 -6
- data/lib/rexml/parsers/baseparser.rb +4 -0
- data/lib/rexml/rexml.rb +2 -2
- data/lib/rexml/xmldecl.rb +24 -11
- data/lib/rexml/xpath_parser.rb +1 -3
- data/rexml.gemspec +60 -17
- metadata +4 -6
- data/bin/console +0 -14
- data/bin/setup +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c40b34860b0aa6a9f52ff95da6dc77900cec26b19aa2ff44f5273e8820925e0
|
4
|
+
data.tar.gz: cb09dfb7da77bb5ec5c6b2acbc810267898cdf33d5d54b7bdbebcf2452b9fee5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc64cb9eaf9012bf1e7b5fe3b5801decced322ab4a44a19c9afffd8be8da25dd3dbdef7a7b9bba22c67d5f05b54c3fec800c73f5004d1c0e08d686ed18e96de2
|
7
|
+
data.tar.gz: ee8af8e28eb56469e2a27ee306d63b4dc345c4d54d11c3a44d6cae55c0bca73f613c61f95103a104082ffcaef8a38165410a73f0af779d884fe7ded558d0cbab
|
data/.travis.yml
CHANGED
@@ -1,10 +1,24 @@
|
|
1
1
|
notifications:
|
2
2
|
webhooks:
|
3
3
|
- https://webhook.commit-email.info/
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
4
|
+
matrix:
|
5
|
+
include:
|
6
|
+
- name: "2.3"
|
7
|
+
rvm: 2.3
|
8
|
+
- name: "2.4"
|
9
|
+
rvm: 2.4.5
|
10
|
+
- name: "2.5"
|
11
|
+
rvm: 2.5.2
|
12
|
+
- name: "2.6"
|
13
|
+
rvm: 2.6.0-rc2
|
14
|
+
- name: "trunk"
|
15
|
+
rvm: ruby-head
|
16
|
+
- name: "gem"
|
17
|
+
rvm: 2.6
|
18
|
+
install:
|
19
|
+
- rake install
|
20
|
+
script:
|
21
|
+
- mkdir -p tmp
|
22
|
+
- cd tmp
|
23
|
+
- cp -a ../test/ ./
|
24
|
+
- ../run-test.rb
|
data/NEWS.md
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
# News
|
2
|
+
|
3
|
+
## 3.2.0 - 2018-01-01 {#version-3-2-0}
|
4
|
+
|
5
|
+
### Fixes
|
6
|
+
|
7
|
+
* Fixed a bug that no namespace attribute isn't matched with prefix.
|
8
|
+
|
9
|
+
[ruby-list:50731][Reported by Yasuhiro KIMURA]
|
10
|
+
|
11
|
+
* Fixed a bug that the default namespace is applied to attribute names.
|
12
|
+
|
13
|
+
NOTE: It's a backward incompatible change. If your program has any
|
14
|
+
problem with this change, please report it. We may revert this fix.
|
15
|
+
|
16
|
+
* `REXML::Attribute#prefix` returns `""` for no namespace attribute.
|
17
|
+
|
18
|
+
* `REXML::Attribute#namespace` returns `""` for no namespace attribute.
|
19
|
+
|
20
|
+
### Thanks
|
21
|
+
|
22
|
+
* Yasuhiro KIMURA
|
23
|
+
|
24
|
+
## 3.1.9 - 2018-12-20 {#version-3-1-9}
|
25
|
+
|
26
|
+
### Improvements
|
27
|
+
|
28
|
+
* Improved backward compatibility.
|
29
|
+
|
30
|
+
Restored `REXML::Parsers::BaseParser::UNQME_STR` because it's used
|
31
|
+
by kramdown.
|
32
|
+
|
33
|
+
## 3.1.8 - 2018-12-20 {#version-3-1-8}
|
34
|
+
|
35
|
+
### Improvements
|
36
|
+
|
37
|
+
* Added support for customizing quote character in prologue.
|
38
|
+
[GitHub#8][Bug #9367][Reported by Takashi Oguma]
|
39
|
+
|
40
|
+
* You can use `"` as quote character by specifying `:quote` to
|
41
|
+
`REXML::Document#context[:prologue_quote]`.
|
42
|
+
|
43
|
+
* You can use `'` as quote character by specifying `:apostrophe`
|
44
|
+
to `REXML::Document#context[:prologue_quote]`.
|
45
|
+
|
46
|
+
* Added processing instruction target check. The target must not nil.
|
47
|
+
[GitHub#7][Reported by Ariel Zelivansky]
|
48
|
+
|
49
|
+
* Added name check for element and attribute.
|
50
|
+
[GitHub#7][Reported by Ariel Zelivansky]
|
51
|
+
|
52
|
+
* Stopped to use `Exception`.
|
53
|
+
[GitHub#9][Patch by Jean Boussier]
|
54
|
+
|
55
|
+
### Fixes
|
56
|
+
|
57
|
+
* Fixed a bug that `REXML::Text#clone` escapes value twice.
|
58
|
+
[ruby-dev:50626][Bug #15058][Reported by Ryosuke Nanba]
|
59
|
+
|
60
|
+
### Thanks
|
61
|
+
|
62
|
+
* Takashi Oguma
|
63
|
+
|
64
|
+
* Ariel Zelivansky
|
65
|
+
|
66
|
+
* Jean Boussier
|
67
|
+
|
68
|
+
* Ryosuke Nanba
|
data/README.md
CHANGED
@@ -47,7 +47,7 @@ So parsing a string is just as easy as parsing a file.
|
|
47
47
|
|
48
48
|
## Development
|
49
49
|
|
50
|
-
After checking out the repo, run `
|
50
|
+
After checking out the repo, run `rake test` to run the tests.
|
51
51
|
|
52
52
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
53
53
|
|
data/Rakefile
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
-
require "rake/testtask"
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
t.test_files = FileList["test/**/test_*.rb"]
|
3
|
+
desc "Run test"
|
4
|
+
task :test do
|
5
|
+
ruby("run-test.rb")
|
8
6
|
end
|
9
7
|
|
10
8
|
task :default => :test
|
data/lib/rexml/attribute.rb
CHANGED
@@ -67,15 +67,11 @@ module REXML
|
|
67
67
|
# e.add_attribute( "nsa:a", "aval" )
|
68
68
|
# e.add_attribute( "b", "bval" )
|
69
69
|
# e.attributes.get_attribute( "a" ).prefix # -> "nsa"
|
70
|
-
# e.attributes.get_attribute( "b" ).prefix # -> "
|
70
|
+
# e.attributes.get_attribute( "b" ).prefix # -> ""
|
71
71
|
# a = Attribute.new( "x", "y" )
|
72
72
|
# a.prefix # -> ""
|
73
73
|
def prefix
|
74
|
-
|
75
|
-
if pf == ""
|
76
|
-
pf = @element.prefix if @element
|
77
|
-
end
|
78
|
-
pf
|
74
|
+
super
|
79
75
|
end
|
80
76
|
|
81
77
|
# Returns the namespace URL, if defined, or nil otherwise
|
@@ -86,9 +82,26 @@ module REXML
|
|
86
82
|
# e.add_attribute("nsx:a", "c")
|
87
83
|
# e.attribute("ns:a").namespace # => "http://url"
|
88
84
|
# e.attribute("nsx:a").namespace # => nil
|
85
|
+
#
|
86
|
+
# This method always returns "" for no namespace attribute. Because
|
87
|
+
# the default namespace doesn't apply to attribute names.
|
88
|
+
#
|
89
|
+
# From https://www.w3.org/TR/xml-names/#uniqAttrs
|
90
|
+
#
|
91
|
+
# > the default namespace does not apply to attribute names
|
92
|
+
#
|
93
|
+
# e = REXML::Element.new("el")
|
94
|
+
# e.add_namespace("", "http://example.com/")
|
95
|
+
# e.namespace # => "http://example.com/"
|
96
|
+
# e.add_attribute("a", "b")
|
97
|
+
# e.attribute("a").namespace # => ""
|
89
98
|
def namespace arg=nil
|
90
99
|
arg = prefix if arg.nil?
|
91
|
-
|
100
|
+
if arg == ""
|
101
|
+
""
|
102
|
+
else
|
103
|
+
@element.namespace(arg)
|
104
|
+
end
|
92
105
|
end
|
93
106
|
|
94
107
|
# Returns true if other is an Attribute and has the same name and value,
|
data/lib/rexml/doctype.rb
CHANGED
@@ -108,13 +108,19 @@ module REXML
|
|
108
108
|
# Ignored
|
109
109
|
def write( output, indent=0, transitive=false, ie_hack=false )
|
110
110
|
f = REXML::Formatters::Default.new
|
111
|
+
c = context
|
112
|
+
if c and c[:prologue_quote] == :apostrophe
|
113
|
+
quote = "'"
|
114
|
+
else
|
115
|
+
quote = "\""
|
116
|
+
end
|
111
117
|
indent( output, indent )
|
112
118
|
output << START
|
113
119
|
output << ' '
|
114
120
|
output << @name
|
115
|
-
output << "
|
116
|
-
output << " #{@long_name
|
117
|
-
output << " #{@uri
|
121
|
+
output << " #{@external_id}" if @external_id
|
122
|
+
output << " #{quote}#{@long_name}#{quote}" if @long_name
|
123
|
+
output << " #{quote}#{@uri}#{quote}" if @uri
|
118
124
|
unless @children.empty?
|
119
125
|
output << ' ['
|
120
126
|
@children.each { |child|
|
@@ -127,7 +133,11 @@ module REXML
|
|
127
133
|
end
|
128
134
|
|
129
135
|
def context
|
130
|
-
@parent
|
136
|
+
if @parent
|
137
|
+
@parent.context
|
138
|
+
else
|
139
|
+
nil
|
140
|
+
end
|
131
141
|
end
|
132
142
|
|
133
143
|
def entity( name )
|
@@ -249,9 +259,16 @@ module REXML
|
|
249
259
|
end
|
250
260
|
|
251
261
|
def to_s
|
262
|
+
c = nil
|
263
|
+
c = parent.context if parent
|
264
|
+
if c and c[:prologue_quote] == :apostrophe
|
265
|
+
quote = "'"
|
266
|
+
else
|
267
|
+
quote = "\""
|
268
|
+
end
|
252
269
|
notation = "<!NOTATION #{@name} #{@middle}"
|
253
|
-
notation << " #{@public
|
254
|
-
notation << " #{@system
|
270
|
+
notation << " #{quote}#{@public}#{quote}" if @public
|
271
|
+
notation << " #{quote}#{@system}#{quote}" if @system
|
255
272
|
notation << ">"
|
256
273
|
notation
|
257
274
|
end
|
data/lib/rexml/element.rb
CHANGED
@@ -1132,16 +1132,18 @@ module REXML
|
|
1132
1132
|
old_attr[value.prefix] = value
|
1133
1133
|
elsif old_attr.prefix != value.prefix
|
1134
1134
|
# Check for conflicting namespaces
|
1135
|
-
|
1136
|
-
|
1137
|
-
|
1138
|
-
|
1139
|
-
|
1140
|
-
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1135
|
+
if value.prefix != "xmlns" and old_attr.prefix != "xmlns"
|
1136
|
+
old_namespace = old_attr.namespace
|
1137
|
+
new_namespace = value.namespace
|
1138
|
+
if old_namespace == new_namespace
|
1139
|
+
raise ParseException.new(
|
1140
|
+
"Namespace conflict in adding attribute \"#{value.name}\": "+
|
1141
|
+
"Prefix \"#{old_attr.prefix}\" = \"#{old_namespace}\" and "+
|
1142
|
+
"prefix \"#{value.prefix}\" = \"#{new_namespace}\"")
|
1143
|
+
end
|
1144
|
+
end
|
1145
|
+
store value.name, {old_attr.prefix => old_attr,
|
1146
|
+
value.prefix => value}
|
1145
1147
|
else
|
1146
1148
|
store value.name, value
|
1147
1149
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
|
+
|
2
3
|
module REXML
|
3
4
|
module Formatters
|
4
5
|
class Default
|
@@ -66,7 +67,7 @@ module REXML
|
|
66
67
|
|
67
68
|
node.attributes.to_a.map { |a|
|
68
69
|
Hash === a ? a.values : a
|
69
|
-
}.flatten.sort_by {|attr| attr.name
|
70
|
+
}.flatten.sort_by {|attr| attr.name}.each do |attr|
|
70
71
|
output << " "
|
71
72
|
attr.write( output )
|
72
73
|
end unless node.attributes.empty?
|
@@ -101,11 +102,14 @@ module REXML
|
|
101
102
|
end
|
102
103
|
|
103
104
|
def write_instruction( node, output )
|
104
|
-
output << Instruction::START
|
105
|
-
output <<
|
106
|
-
|
107
|
-
|
108
|
-
|
105
|
+
output << Instruction::START
|
106
|
+
output << node.target
|
107
|
+
content = node.content
|
108
|
+
if content
|
109
|
+
output << ' '
|
110
|
+
output << content
|
111
|
+
end
|
112
|
+
output << Instruction::STOP
|
109
113
|
end
|
110
114
|
end
|
111
115
|
end
|
data/lib/rexml/instruction.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
|
+
|
2
3
|
require_relative "child"
|
3
4
|
require_relative "source"
|
4
5
|
|
@@ -6,8 +7,8 @@ module REXML
|
|
6
7
|
# Represents an XML Instruction; IE, <? ... ?>
|
7
8
|
# TODO: Add parent arg (3rd arg) to constructor
|
8
9
|
class Instruction < Child
|
9
|
-
START =
|
10
|
-
STOP =
|
10
|
+
START = "<?"
|
11
|
+
STOP = "?>"
|
11
12
|
|
12
13
|
# target is the "name" of the Instruction; IE, the "tag" in <?tag ...?>
|
13
14
|
# content is everything else.
|
@@ -17,20 +18,25 @@ module REXML
|
|
17
18
|
# @param target can be one of a number of things. If String, then
|
18
19
|
# the target of this instruction is set to this. If an Instruction,
|
19
20
|
# then the Instruction is shallowly cloned (target and content are
|
20
|
-
# copied).
|
21
|
-
# an Instruction declaration.
|
21
|
+
# copied).
|
22
22
|
# @param content Must be either a String, or a Parent. Can only
|
23
23
|
# be a Parent if the target argument is a Source. Otherwise, this
|
24
24
|
# String is set as the content of this instruction.
|
25
25
|
def initialize(target, content=nil)
|
26
|
-
|
26
|
+
case target
|
27
|
+
when String
|
27
28
|
super()
|
28
29
|
@target = target
|
29
30
|
@content = content
|
30
|
-
|
31
|
+
when Instruction
|
31
32
|
super(content)
|
32
33
|
@target = target.target
|
33
34
|
@content = target.content
|
35
|
+
else
|
36
|
+
message =
|
37
|
+
"processing instruction target must be String or REXML::Instruction: "
|
38
|
+
message << "<#{target.inspect}>"
|
39
|
+
raise ArgumentError, message
|
34
40
|
end
|
35
41
|
@content.strip! if @content
|
36
42
|
end
|
@@ -45,11 +51,13 @@ module REXML
|
|
45
51
|
def write writer, indent=-1, transitive=false, ie_hack=false
|
46
52
|
Kernel.warn( "#{self.class.name}.write is deprecated", uplevel: 1)
|
47
53
|
indent(writer, indent)
|
48
|
-
writer << START
|
54
|
+
writer << START
|
49
55
|
writer << @target
|
50
|
-
|
51
|
-
|
52
|
-
|
56
|
+
if @content
|
57
|
+
writer << ' '
|
58
|
+
writer << @content
|
59
|
+
end
|
60
|
+
writer << STOP
|
53
61
|
end
|
54
62
|
|
55
63
|
# @return true if other is an Instruction, and the content and target
|
data/lib/rexml/namespace.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
|
+
|
2
3
|
require_relative 'xmltokens'
|
3
4
|
|
4
5
|
module REXML
|
@@ -14,14 +15,24 @@ module REXML
|
|
14
15
|
# Sets the name and the expanded name
|
15
16
|
def name=( name )
|
16
17
|
@expanded_name = name
|
17
|
-
name
|
18
|
-
|
19
|
-
|
18
|
+
case name
|
19
|
+
when NAMESPLIT
|
20
|
+
if $1
|
21
|
+
@prefix = $1
|
22
|
+
else
|
23
|
+
@prefix = ""
|
24
|
+
@namespace = ""
|
25
|
+
end
|
26
|
+
@name = $2
|
27
|
+
when ""
|
28
|
+
@prefix = nil
|
29
|
+
@namespace = nil
|
30
|
+
@name = nil
|
20
31
|
else
|
21
|
-
|
22
|
-
|
32
|
+
message = "name must be \#{PREFIX}:\#{LOCAL_NAME} or \#{LOCAL_NAME}: "
|
33
|
+
message += "<#{name.inspect}>"
|
34
|
+
raise ArgumentError, message
|
23
35
|
end
|
24
|
-
@name = $2
|
25
36
|
end
|
26
37
|
|
27
38
|
# Compares names optionally WITH namespaces
|
@@ -37,6 +37,10 @@ module REXML
|
|
37
37
|
QNAME_STR= "(?:(#{NCNAME_STR}):)?(#{NCNAME_STR})"
|
38
38
|
QNAME = /(#{QNAME_STR})/
|
39
39
|
|
40
|
+
# Just for backward compatibility. For example, kramdown uses this.
|
41
|
+
# It's not used in REXML.
|
42
|
+
UNAME_STR= "(?:#{NCNAME_STR}:)?#{NCNAME_STR}"
|
43
|
+
|
40
44
|
NAMECHAR = '[\-\w\.:]'
|
41
45
|
NAME = "([\\w:]#{NAMECHAR}*)"
|
42
46
|
NMTOKEN = "(?:#{NAMECHAR})+"
|
data/lib/rexml/rexml.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*-
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
# frozen_string_literal: false
|
3
3
|
# REXML is an XML toolkit for Ruby[http://www.ruby-lang.org], in Ruby.
|
4
4
|
#
|
@@ -24,7 +24,7 @@
|
|
24
24
|
module REXML
|
25
25
|
COPYRIGHT = "Copyright © 2001-2008 Sean Russell <ser@germane-software.com>"
|
26
26
|
DATE = "2008/019"
|
27
|
-
VERSION = "3.
|
27
|
+
VERSION = "3.2.0"
|
28
28
|
REVISION = ""
|
29
29
|
|
30
30
|
Copyright = COPYRIGHT
|
data/lib/rexml/xmldecl.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
|
+
|
2
3
|
require_relative 'encoding'
|
3
4
|
require_relative 'source'
|
4
5
|
|
@@ -7,11 +8,11 @@ module REXML
|
|
7
8
|
class XMLDecl < Child
|
8
9
|
include Encoding
|
9
10
|
|
10
|
-
DEFAULT_VERSION = "1.0"
|
11
|
-
DEFAULT_ENCODING = "UTF-8"
|
12
|
-
DEFAULT_STANDALONE = "no"
|
13
|
-
START =
|
14
|
-
STOP =
|
11
|
+
DEFAULT_VERSION = "1.0"
|
12
|
+
DEFAULT_ENCODING = "UTF-8"
|
13
|
+
DEFAULT_STANDALONE = "no"
|
14
|
+
START = "<?xml"
|
15
|
+
STOP = "?>"
|
15
16
|
|
16
17
|
attr_accessor :version, :standalone
|
17
18
|
attr_reader :writeencoding, :writethis
|
@@ -46,9 +47,9 @@ module REXML
|
|
46
47
|
# Ignored
|
47
48
|
def write(writer, indent=-1, transitive=false, ie_hack=false)
|
48
49
|
return nil unless @writethis or writer.kind_of? Output
|
49
|
-
writer << START
|
50
|
+
writer << START
|
50
51
|
writer << " #{content encoding}"
|
51
|
-
writer << STOP
|
52
|
+
writer << STOP
|
52
53
|
end
|
53
54
|
|
54
55
|
def ==( other )
|
@@ -102,14 +103,26 @@ module REXML
|
|
102
103
|
end
|
103
104
|
|
104
105
|
def inspect
|
105
|
-
START
|
106
|
+
"#{START} ... #{STOP}"
|
106
107
|
end
|
107
108
|
|
108
109
|
private
|
109
110
|
def content(enc)
|
110
|
-
|
111
|
-
|
112
|
-
|
111
|
+
context = nil
|
112
|
+
context = parent.context if parent
|
113
|
+
if context and context[:prologue_quote] == :quote
|
114
|
+
quote = "\""
|
115
|
+
else
|
116
|
+
quote = "'"
|
117
|
+
end
|
118
|
+
|
119
|
+
rv = "version=#{quote}#{@version}#{quote}"
|
120
|
+
if @writeencoding or enc !~ /\Autf-8\z/i
|
121
|
+
rv << " encoding=#{quote}#{enc}#{quote}"
|
122
|
+
end
|
123
|
+
if @standalone
|
124
|
+
rv << " standalone=#{quote}#{@standalone}#{quote}"
|
125
|
+
end
|
113
126
|
rv
|
114
127
|
end
|
115
128
|
end
|
data/lib/rexml/xpath_parser.rb
CHANGED
@@ -493,9 +493,7 @@ module REXML
|
|
493
493
|
if prefix.nil?
|
494
494
|
raw_node.name == name
|
495
495
|
elsif prefix.empty?
|
496
|
-
|
497
|
-
raw_node.name == name and
|
498
|
-
raw_node.namespace == raw_node.element.namespace
|
496
|
+
raw_node.name == name and raw_node.namespace == ""
|
499
497
|
else
|
500
498
|
# FIXME: This DOUBLES the time XPath searches take
|
501
499
|
ns = get_namespace(raw_node.element, prefix)
|
data/rexml.gemspec
CHANGED
@@ -16,23 +16,66 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.homepage = "https://github.com/ruby/rexml"
|
17
17
|
spec.license = "BSD-2-Clause"
|
18
18
|
|
19
|
-
spec.files = [
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
19
|
+
spec.files = [
|
20
|
+
".gitignore",
|
21
|
+
".travis.yml",
|
22
|
+
"Gemfile",
|
23
|
+
"LICENSE.txt",
|
24
|
+
"NEWS.md",
|
25
|
+
"README.md",
|
26
|
+
"Rakefile",
|
27
|
+
"lib/rexml/attlistdecl.rb",
|
28
|
+
"lib/rexml/attribute.rb",
|
29
|
+
"lib/rexml/cdata.rb",
|
30
|
+
"lib/rexml/child.rb",
|
31
|
+
"lib/rexml/comment.rb",
|
32
|
+
"lib/rexml/doctype.rb",
|
33
|
+
"lib/rexml/document.rb",
|
34
|
+
"lib/rexml/dtd/attlistdecl.rb",
|
35
|
+
"lib/rexml/dtd/dtd.rb",
|
36
|
+
"lib/rexml/dtd/elementdecl.rb",
|
37
|
+
"lib/rexml/dtd/entitydecl.rb",
|
38
|
+
"lib/rexml/dtd/notationdecl.rb",
|
39
|
+
"lib/rexml/element.rb",
|
40
|
+
"lib/rexml/encoding.rb",
|
41
|
+
"lib/rexml/entity.rb",
|
42
|
+
"lib/rexml/formatters/default.rb",
|
43
|
+
"lib/rexml/formatters/pretty.rb",
|
44
|
+
"lib/rexml/formatters/transitive.rb",
|
45
|
+
"lib/rexml/functions.rb",
|
46
|
+
"lib/rexml/instruction.rb",
|
47
|
+
"lib/rexml/light/node.rb",
|
48
|
+
"lib/rexml/namespace.rb",
|
49
|
+
"lib/rexml/node.rb",
|
50
|
+
"lib/rexml/output.rb",
|
51
|
+
"lib/rexml/parent.rb",
|
52
|
+
"lib/rexml/parseexception.rb",
|
53
|
+
"lib/rexml/parsers/baseparser.rb",
|
54
|
+
"lib/rexml/parsers/lightparser.rb",
|
55
|
+
"lib/rexml/parsers/pullparser.rb",
|
56
|
+
"lib/rexml/parsers/sax2parser.rb",
|
57
|
+
"lib/rexml/parsers/streamparser.rb",
|
58
|
+
"lib/rexml/parsers/treeparser.rb",
|
59
|
+
"lib/rexml/parsers/ultralightparser.rb",
|
60
|
+
"lib/rexml/parsers/xpathparser.rb",
|
61
|
+
"lib/rexml/quickpath.rb",
|
62
|
+
"lib/rexml/rexml.rb",
|
63
|
+
"lib/rexml/sax2listener.rb",
|
64
|
+
"lib/rexml/security.rb",
|
65
|
+
"lib/rexml/source.rb",
|
66
|
+
"lib/rexml/streamlistener.rb",
|
67
|
+
"lib/rexml/syncenumerator.rb",
|
68
|
+
"lib/rexml/text.rb",
|
69
|
+
"lib/rexml/undefinednamespaceexception.rb",
|
70
|
+
"lib/rexml/validation/relaxng.rb",
|
71
|
+
"lib/rexml/validation/validation.rb",
|
72
|
+
"lib/rexml/validation/validationexception.rb",
|
73
|
+
"lib/rexml/xmldecl.rb",
|
74
|
+
"lib/rexml/xmltokens.rb",
|
75
|
+
"lib/rexml/xpath.rb",
|
76
|
+
"lib/rexml/xpath_parser.rb",
|
77
|
+
"rexml.gemspec",
|
78
|
+
]
|
36
79
|
spec.bindir = "exe"
|
37
80
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
38
81
|
spec.require_paths = ["lib"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rexml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -49,10 +49,9 @@ files:
|
|
49
49
|
- ".travis.yml"
|
50
50
|
- Gemfile
|
51
51
|
- LICENSE.txt
|
52
|
+
- NEWS.md
|
52
53
|
- README.md
|
53
54
|
- Rakefile
|
54
|
-
- bin/console
|
55
|
-
- bin/setup
|
56
55
|
- lib/rexml/attlistdecl.rb
|
57
56
|
- lib/rexml/attribute.rb
|
58
57
|
- lib/rexml/cdata.rb
|
@@ -123,8 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
122
|
- !ruby/object:Gem::Version
|
124
123
|
version: '0'
|
125
124
|
requirements: []
|
126
|
-
|
127
|
-
rubygems_version: 2.7.6
|
125
|
+
rubygems_version: 3.0.1
|
128
126
|
signing_key:
|
129
127
|
specification_version: 4
|
130
128
|
summary: An XML toolkit for Ruby
|
data/bin/console
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require "bundler/setup"
|
4
|
-
require "rexml"
|
5
|
-
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
|
-
require "irb"
|
14
|
-
IRB.start(__FILE__)
|