xml-mixup 0.1.10 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 74f33a7307a517d3447e6cc3e41b79a964d7002dcd41118f20f77854ad20c7c9
4
- data.tar.gz: c0fe7162ce9a6b6d0b27880b6127e783bbe2f340358be29e2cc9386345ef6cff
3
+ metadata.gz: 52f06d4fa85d31f07ed928b7d1c0106e62f10931f1292464314a95bb9a77e276
4
+ data.tar.gz: 54a0f85692dc6e558009550094aeccecbbdfda6c286977eaccd312c6042e438c
5
5
  SHA512:
6
- metadata.gz: c50bb0074170d8b936bf83084d5d471ab3f6f70703ec87e4c7e1b3f8d02bff4bb557986367f648bfec14f62cdb0a6b7b0ddaa7b88cdc3308e6922eb377b8619d
7
- data.tar.gz: 86e2f6b2ba2f89808215e1176031bc2079ff254f425d5c3a8e2d6f9a8f81506e9bc921b9605d531b3708fca92cf3dc18cb3f8ceca6dd8615b76b2eeed1f7deee
6
+ metadata.gz: 737ca243a7a520a59968bc8613e31dda5a7f7e859bf06fcdfe9352f268a417dc95fee7e8b7e458cca9337b1d19f79795a97c28da133929e4f0ef236c5bc38352
7
+ data.tar.gz: 5767a7fd2688e3242ea9f42030b8cb926eed8e7b1c90c5b8478487ee9b1143931f23493eeb79c53101a3fad40e4987591d2d496f31d0651415d880004806dd49
@@ -1,5 +1,5 @@
1
1
  module XML
2
2
  module Mixup
3
- VERSION = "0.1.10"
3
+ VERSION = "0.1.11"
4
4
  end
5
5
  end
data/lib/xml/mixup.rb CHANGED
@@ -174,35 +174,36 @@ module XML::Mixup
174
174
  else
175
175
  name = x
176
176
  end
177
- elsif (compact = spec.select { |k, _|
178
- k.respond_to?(:to_a) or k.is_a?(Nokogiri::XML::Node)}) and
179
- not compact.empty?
177
+ elsif (compact = spec.select { |k, _| k.respond_to?(:to_a) or
178
+ k.is_a?(Nokogiri::XML::Node)}) and !compact.empty?
180
179
  # compact syntax eliminates the `nil` key
181
180
  raise %q{Spec can't have duplicate compact keys} if compact.count > 1
182
181
  children, name = compact.first
183
- children = children.respond_to?(:to_a) ? children.to_a : [children]
184
- elsif (special = spec.select { |k, _|
185
- k.respond_to? :to_s and k.to_s.start_with? '#' }) and
186
- not special.empty?
182
+ children = children.is_a?(Hash) ||
183
+ children.is_a?(Nokogiri::XML::Node) ? [children] : children.to_a
184
+ elsif (special = spec.select { |k, _| k.respond_to? :to_s and
185
+ k.to_s.start_with? ?# }) and !special.empty?
187
186
  # these are special keys
188
187
  raise %q{Spec can't have multiple special keys} if special.count > 1
189
188
  name, children = special.first
190
189
 
191
- if %w{# #elem #element #tag}.any? name
190
+ if %w{# #elem #element #tag}.include? name
192
191
  # then the name is in the `children` slot
193
192
  raise "Value of #{name} shorthand formulation" +
194
- "must be a valid element name" unless children.to_s
193
+ "must be a valid element name" unless children.respond_to? :to_s
195
194
  name = children
196
195
  # set children to empty array
197
196
  children = []
198
197
  elsif not RESERVED.any? name
199
198
  # then the name is encoded into the key and we have to
200
199
  # remove the octothorpe
201
- name = name[1..name.length]
200
+ name = name.delete_prefix ?#
201
+ # note we assign because the object is input and may be frozen
202
202
  end
203
203
 
204
204
  # don't forget to reset the child nodes
205
- children = children.respond_to?(:to_a) ? children.to_a : [children]
205
+ children = children.is_a?(Hash) || !children.respond_to?(:to_a) ?
206
+ [children] : children.to_a
206
207
  end
207
208
 
208
209
  # note the name can be nil because it can be inferred
@@ -245,7 +246,7 @@ module XML::Mixup
245
246
  # attach it
246
247
  ADJACENT[adj].call node, nodes[adj]
247
248
 
248
- elsif name == '#dtd' or name == '#doctype'
249
+ elsif %w[#dtd #doctype].include? name
249
250
  # now doctype declarations
250
251
  if children.empty?
251
252
  raise "DTD node must have a root element declaration"
data/xml-mixup.gemspec CHANGED
@@ -14,16 +14,6 @@ Gem::Specification.new do |spec|
14
14
  spec.homepage = "https://github.com/doriantaylor/rb-xml-mixup"
15
15
  spec.required_ruby_version = "~> 2.0"
16
16
 
17
- # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
- # to allow pushing to a single host or delete this section to allow pushing to any host.
19
-
20
- # if spec.respond_to?(:metadata)
21
- # spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
22
- # else
23
- # raise "RubyGems 2.0 or newer is required to protect against " \
24
- # "public gem pushes."
25
- # end
26
-
27
17
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
28
18
  f.match(%r{^(test|spec|features)/})
29
19
  end
@@ -35,5 +25,5 @@ Gem::Specification.new do |spec|
35
25
  spec.add_development_dependency "rake", "~> 10.0"
36
26
  spec.add_development_dependency "rspec", "~> 3.0"
37
27
 
38
- spec.add_dependency "nokogiri", "~> 1.8"
28
+ spec.add_dependency "nokogiri", "~> 1.10.4"
39
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xml-mixup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dorian Taylor
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-07-06 00:00:00.000000000 Z
11
+ date: 2019-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.8'
61
+ version: 1.10.4
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.8'
68
+ version: 1.10.4
69
69
  description: XML::Mixup uses declarative data structures to incrementally generate
70
70
  XML.
71
71
  email:
@@ -104,8 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  requirements: []
107
- rubyforge_project:
108
- rubygems_version: 2.7.6
107
+ rubygems_version: 3.0.3
109
108
  signing_key:
110
109
  specification_version: 4
111
110
  summary: A mixin for (XML) markup