xml-mapping_extensions 0.4.7 → 0.4.8
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.
- checksums.yaml +4 -4
- data/.gitignore +136 -22
- data/.idea/emacs.xml +6 -0
- data/.idea/encodings.xml +6 -0
- data/.idea/inspectionProfiles/Project_Default.xml +11 -0
- data/.idea/misc.xml +6 -0
- data/.idea/modules.xml +8 -0
- data/.idea/sbt.xml +6 -0
- data/.idea/vcs.xml +6 -0
- data/.rubocop.yml +16 -0
- data/.ruby-version +1 -1
- data/CHANGES.md +8 -0
- data/Rakefile +4 -4
- data/lib/xml/mapping_extensions.rb +2 -1
- data/lib/xml/mapping_extensions/date_node.rb +1 -1
- data/lib/xml/mapping_extensions/namespace.rb +2 -2
- data/lib/xml/mapping_extensions/node_base.rb +1 -1
- data/lib/xml/mapping_extensions/typesafe_enum_node.rb +2 -2
- data/lib/xml/mapping_extensions/version.rb +1 -1
- data/spec/.rubocop.yml +3 -0
- data/spec/rspec_custom_matchers.rb +5 -8
- data/spec/unit/xml/mapping_extensions/array_node_spec.rb +2 -2
- data/spec/unit/xml/mapping_extensions/mapping_extensions_spec.rb +22 -3
- data/spec/unit/xml/mapping_extensions/typesafe_enum_node_spec.rb +1 -1
- data/xml-mapping_extensions.gemspec +4 -3
- data/xml-mapping_extensions.iml +44 -0
- metadata +17 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1132df9b6ea06d26b4c12736637820be891309dd
|
|
4
|
+
data.tar.gz: 8b5de3bf4e0e2a0d95a86b808ef4a3a93fde0983
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6be5ac1d8fa92dff1e678760718c337a1b7bd5b0734fe6508fb9b1f5b5ef258b4b6fdc7da63f042d1322a578c2d229a0f0ef21247409501927a57dbd599b72b7
|
|
7
|
+
data.tar.gz: 5775bfc7829ec3306b143ac2b4ecbb5e51d205694ce37214d170928c817c3a7026a772ec76a9f1f423d39e7fd7d1318e40c8483f7c5a04c5bff76a2c6e3be4d0
|
data/.gitignore
CHANGED
|
@@ -1,36 +1,150 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ignore Gemfile.lock in libraries
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/
|
|
6
|
-
|
|
3
|
+
Gemfile.lock
|
|
4
|
+
|
|
5
|
+
#### joe made this: http://goel.io/joe
|
|
6
|
+
|
|
7
|
+
#####=== Ruby ===#####
|
|
8
|
+
|
|
9
|
+
*.gem
|
|
10
|
+
*.rbc
|
|
11
|
+
/.config
|
|
7
12
|
/coverage/
|
|
8
|
-
/
|
|
13
|
+
/InstalledFiles
|
|
9
14
|
/pkg/
|
|
10
15
|
/spec/reports/
|
|
16
|
+
/spec/examples.txt
|
|
17
|
+
/test/tmp/
|
|
18
|
+
/test/version_tmp/
|
|
11
19
|
/tmp/
|
|
12
|
-
*.bundle
|
|
13
|
-
*.so
|
|
14
|
-
*.o
|
|
15
|
-
*.a
|
|
16
|
-
mkmf.log
|
|
17
20
|
|
|
18
|
-
#
|
|
21
|
+
# Used by dotenv library to load environment variables.
|
|
22
|
+
# .env
|
|
19
23
|
|
|
20
|
-
|
|
24
|
+
## Specific to RubyMotion:
|
|
25
|
+
.dat*
|
|
26
|
+
.repl_history
|
|
27
|
+
build/
|
|
28
|
+
*.bridgesupport
|
|
29
|
+
build-iPhoneOS/
|
|
30
|
+
build-iPhoneSimulator/
|
|
21
31
|
|
|
22
|
-
|
|
32
|
+
## Specific to RubyMotion (use of CocoaPods):
|
|
33
|
+
#
|
|
34
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
|
35
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
|
36
|
+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
|
37
|
+
#
|
|
38
|
+
# vendor/Pods/
|
|
23
39
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
40
|
+
## Documentation cache and generated files:
|
|
41
|
+
/.yardoc/
|
|
42
|
+
/_yardoc/
|
|
43
|
+
/doc/
|
|
44
|
+
/rdoc/
|
|
29
45
|
|
|
30
|
-
|
|
46
|
+
## Environment normalization:
|
|
47
|
+
/.bundle/
|
|
48
|
+
/vendor/bundle
|
|
49
|
+
/lib/bundler/man/
|
|
50
|
+
|
|
51
|
+
# for a library or gem, you might want to ignore these files since the code is
|
|
52
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
53
|
+
# Gemfile.lock
|
|
54
|
+
# .ruby-version
|
|
55
|
+
# .ruby-gemset
|
|
31
56
|
|
|
57
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
|
58
|
+
.rvmrc
|
|
59
|
+
|
|
60
|
+
#####=== Emacs ===#####
|
|
61
|
+
# -*- mode: gitignore; -*-
|
|
32
62
|
*~
|
|
63
|
+
\#*\#
|
|
64
|
+
/.emacs.desktop
|
|
65
|
+
/.emacs.desktop.lock
|
|
66
|
+
*.elc
|
|
67
|
+
auto-save-list
|
|
68
|
+
tramp
|
|
69
|
+
.\#*
|
|
70
|
+
|
|
71
|
+
# Org-mode
|
|
72
|
+
.org-id-locations
|
|
73
|
+
*_archive
|
|
74
|
+
|
|
75
|
+
# flymake-mode
|
|
76
|
+
*_flymake.*
|
|
77
|
+
|
|
78
|
+
# eshell files
|
|
79
|
+
/eshell/history
|
|
80
|
+
/eshell/lastdir
|
|
81
|
+
|
|
82
|
+
# elpa packages
|
|
83
|
+
/elpa/
|
|
84
|
+
|
|
85
|
+
# reftex files
|
|
86
|
+
*.rel
|
|
87
|
+
|
|
88
|
+
# AUCTeX auto folder
|
|
89
|
+
/auto/
|
|
90
|
+
|
|
91
|
+
# cask packages
|
|
92
|
+
.cask/
|
|
93
|
+
dist/
|
|
94
|
+
|
|
95
|
+
# Flycheck
|
|
96
|
+
flycheck_*.el
|
|
97
|
+
|
|
98
|
+
# server auth directory
|
|
99
|
+
/server/
|
|
100
|
+
|
|
101
|
+
# projectiles files
|
|
102
|
+
.projectile
|
|
103
|
+
|
|
104
|
+
# directory configuration
|
|
105
|
+
.dir-locals.el
|
|
106
|
+
|
|
107
|
+
#####=== JetBrains ===#####
|
|
108
|
+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
|
|
109
|
+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
|
110
|
+
|
|
111
|
+
# User-specific stuff:
|
|
112
|
+
.idea/workspace.xml
|
|
113
|
+
.idea/tasks.xml
|
|
114
|
+
|
|
115
|
+
# Sensitive or high-churn files:
|
|
116
|
+
.idea/dataSources/
|
|
117
|
+
.idea/dataSources.ids
|
|
118
|
+
.idea/dataSources.xml
|
|
119
|
+
.idea/dataSources.local.xml
|
|
120
|
+
.idea/sqlDataSources.xml
|
|
121
|
+
.idea/dynamic.xml
|
|
122
|
+
.idea/uiDesigner.xml
|
|
123
|
+
|
|
124
|
+
# Gradle:
|
|
125
|
+
.idea/gradle.xml
|
|
126
|
+
.idea/libraries
|
|
127
|
+
|
|
128
|
+
# Mongo Explorer plugin:
|
|
129
|
+
.idea/mongoSettings.xml
|
|
130
|
+
|
|
131
|
+
## File-based project format:
|
|
132
|
+
*.iws
|
|
133
|
+
|
|
134
|
+
## Plugin-specific files:
|
|
135
|
+
|
|
136
|
+
# IntelliJ
|
|
137
|
+
/out/
|
|
138
|
+
|
|
139
|
+
# mpeltonen/sbt-idea plugin
|
|
140
|
+
.idea_modules/
|
|
141
|
+
|
|
142
|
+
# JIRA plugin
|
|
143
|
+
atlassian-ide-plugin.xml
|
|
33
144
|
|
|
34
|
-
#
|
|
145
|
+
# Crashlytics plugin (for Android Studio and IntelliJ)
|
|
146
|
+
com_crashlytics_export_strings.xml
|
|
147
|
+
crashlytics.properties
|
|
148
|
+
crashlytics-build.properties
|
|
149
|
+
fabric.properties
|
|
35
150
|
|
|
36
|
-
.DS_Store
|
data/.idea/emacs.xml
ADDED
data/.idea/encodings.xml
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<component name="InspectionProjectProfileManager">
|
|
2
|
+
<profile version="1.0">
|
|
3
|
+
<option name="myName" value="Project Default" />
|
|
4
|
+
<inspection_tool class="Rubocop" enabled="false" level="WARNING" enabled_by_default="false" />
|
|
5
|
+
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
|
6
|
+
<option name="processCode" value="true" />
|
|
7
|
+
<option name="processLiterals" value="true" />
|
|
8
|
+
<option name="processComments" value="true" />
|
|
9
|
+
</inspection_tool>
|
|
10
|
+
</profile>
|
|
11
|
+
</component>
|
data/.idea/misc.xml
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" default="false" project-jdk-name="RVM: ruby-2.2.5 [global]" project-jdk-type="RUBY_SDK">
|
|
4
|
+
<output url="file://$PROJECT_DIR$/out" />
|
|
5
|
+
</component>
|
|
6
|
+
</project>
|
data/.idea/modules.xml
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ProjectModuleManager">
|
|
4
|
+
<modules>
|
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/xml-mapping_extensions.iml" filepath="$PROJECT_DIR$/xml-mapping_extensions.iml" />
|
|
6
|
+
</modules>
|
|
7
|
+
</component>
|
|
8
|
+
</project>
|
data/.idea/sbt.xml
ADDED
data/.idea/vcs.xml
ADDED
data/.rubocop.yml
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
AllCops:
|
|
2
|
+
# Suppress complaints about post-2.0 syntax
|
|
3
|
+
TargetRubyVersion: 2.2
|
|
4
|
+
|
|
1
5
|
# Disable line-length check; it's too easy for the cure to be worse than the disease
|
|
2
6
|
Metrics/LineLength:
|
|
3
7
|
Enabled: False
|
|
@@ -17,3 +21,15 @@ Style/EmptyLinesAroundModuleBody:
|
|
|
17
21
|
# Allow one line around block body (Style/EmptyLines will still disallow two or more)
|
|
18
22
|
Style/EmptyLinesAroundBlockBody:
|
|
19
23
|
Enabled: false
|
|
24
|
+
|
|
25
|
+
# Unclear why it's a good idea to give parameters semantically meaningless names
|
|
26
|
+
Style/SingleLineBlockParams:
|
|
27
|
+
Enabled: false
|
|
28
|
+
|
|
29
|
+
# Produces monsters
|
|
30
|
+
Style/MultilineOperationIndentation:
|
|
31
|
+
Enabled: false
|
|
32
|
+
|
|
33
|
+
# 👎 to cultural imperialism
|
|
34
|
+
Style/AsciiComments:
|
|
35
|
+
Enabled: false
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.2.
|
|
1
|
+
2.2.5
|
data/CHANGES.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## 0.4.8 (19 April 2017)
|
|
2
|
+
|
|
3
|
+
- Update to Ruby 2.2.5
|
|
4
|
+
- Update to mime-types 3.x, rubocop 0.47
|
|
5
|
+
- Require `rexml/formatters/transitive` so that `XML::Mapping.save_to_file` works.
|
|
6
|
+
- **Note:** `#write_to_file` is still recommended for simple use cases, since
|
|
7
|
+
`#save_to_file` doesn't directly support pretty-printing.
|
|
8
|
+
|
|
1
9
|
## 0.4.7 (21 September 2016)
|
|
2
10
|
|
|
3
11
|
- Fix issue where `ArrayNodes` with `fallback_mapping` wouldn't honor the new mapping.
|
data/Rakefile
CHANGED
|
@@ -8,17 +8,17 @@ namespace :spec do
|
|
|
8
8
|
|
|
9
9
|
desc 'Run all unit tests'
|
|
10
10
|
RSpec::Core::RakeTask.new(:unit) do |task|
|
|
11
|
-
task.rspec_opts = %w
|
|
11
|
+
task.rspec_opts = %w[--color --format documentation --order default]
|
|
12
12
|
task.pattern = 'unit/**/*_spec.rb'
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
desc 'Run all unit tests with ActiveSupport required'
|
|
16
16
|
RSpec::Core::RakeTask.new(:active_support_unit) do |task|
|
|
17
|
-
task.rspec_opts = %w
|
|
17
|
+
task.rspec_opts = %w[--color --format documentation --order default --require active_support/all]
|
|
18
18
|
task.pattern = 'unit/**/*_spec.rb'
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
-
task all: [
|
|
21
|
+
task all: %i[unit active_support_unit]
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
desc 'Run all tests'
|
|
@@ -44,7 +44,7 @@ RuboCop::RakeTask.new
|
|
|
44
44
|
|
|
45
45
|
desc 'List TODOs (from spec/todo.rb)'
|
|
46
46
|
RSpec::Core::RakeTask.new(:todo) do |task|
|
|
47
|
-
task.rspec_opts = %w
|
|
47
|
+
task.rspec_opts = %w[--color --format documentation --order default]
|
|
48
48
|
task.pattern = 'todo.rb'
|
|
49
49
|
end
|
|
50
50
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
require 'rexml/formatters/transitive' # unaccountably, xml/mapping doesn't do this
|
|
1
2
|
require 'xml/mapping'
|
|
2
3
|
require 'stringio'
|
|
3
4
|
|
|
@@ -108,7 +109,7 @@ module XML
|
|
|
108
109
|
when REXML::Element
|
|
109
110
|
xml
|
|
110
111
|
else
|
|
111
|
-
|
|
112
|
+
raise ArgumentError, "Unexpected argument type; expected XML document, String, or IO source, was #{xml.class}" unless can_parse(xml)
|
|
112
113
|
REXML::Document.new(xml).root
|
|
113
114
|
end
|
|
114
115
|
load_from_xml(element, options)
|
|
@@ -30,7 +30,7 @@ module XML
|
|
|
30
30
|
def to_xml_text(value)
|
|
31
31
|
value = value.to_date if value.respond_to?(:to_date)
|
|
32
32
|
text = value.iso8601 # use iso8601 instead of xmlschema in case of ActiveSupport shenanigans
|
|
33
|
-
|
|
33
|
+
zulu && !text.end_with?('Z') ? "#{text}Z" : text
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
::XML::Mapping.add_node_class DateNode
|
|
@@ -22,7 +22,7 @@ module XML
|
|
|
22
22
|
# @raise [URI::InvalidURIError] if `uri` is nil, or a string that is not a valid URI
|
|
23
23
|
# @raise [URI::InvalidURIError] if `schema_location` is a string that is not a valid URI
|
|
24
24
|
def initialize(uri:, prefix: nil, schema_location: nil)
|
|
25
|
-
|
|
25
|
+
raise URI::InvalidURIError, 'uri cannot be nil' unless uri
|
|
26
26
|
@uri = MappingExtensions.to_uri_str(uri)
|
|
27
27
|
@prefix = prefix
|
|
28
28
|
@schema_location = MappingExtensions.to_uri_str(schema_location)
|
|
@@ -36,7 +36,7 @@ module XML
|
|
|
36
36
|
other.class == self.class && other.state == state
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
alias eql? ==
|
|
40
40
|
|
|
41
41
|
def hash
|
|
42
42
|
state.hash
|
|
@@ -43,7 +43,7 @@ module XML
|
|
|
43
43
|
# @param xml_text [String] The XML string to parse
|
|
44
44
|
# @return [Object] The object value
|
|
45
45
|
def to_value(xml_text) # rubocop:disable Lint/UnusedMethodArgument
|
|
46
|
-
|
|
46
|
+
raise NoMethodError, "#{self.class} should override #to_value to convert an XML string to an object value"
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
# Override this method to convert object values to XML text.
|
|
@@ -17,7 +17,7 @@ module XML
|
|
|
17
17
|
def initialize(*args)
|
|
18
18
|
super
|
|
19
19
|
@enum_class = @options[:class]
|
|
20
|
-
|
|
20
|
+
raise ArgumentError, "No :class found for TypesafeEnumNode #{@attrname} of #{@owner}" unless @enum_class
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
# Converts an enum value or value string to an enum instance
|
|
@@ -28,7 +28,7 @@ module XML
|
|
|
28
28
|
return nil unless xml_text
|
|
29
29
|
enum_instance = @enum_class.find_by_value(xml_text)
|
|
30
30
|
enum_instance = @enum_class.find_by_value_str(xml_text) unless enum_instance
|
|
31
|
-
|
|
31
|
+
raise ArgumentError, "No instance of enum class #{@enum_class.name} found for value '#{xml_text}'" unless enum_instance
|
|
32
32
|
enum_instance
|
|
33
33
|
end
|
|
34
34
|
|
data/spec/.rubocop.yml
CHANGED
|
@@ -16,7 +16,7 @@ RSpec::Matchers.define :be_xml do |expected|
|
|
|
16
16
|
when REXML::Element
|
|
17
17
|
to_nokogiri(xml.to_s)
|
|
18
18
|
else
|
|
19
|
-
|
|
19
|
+
raise "be_xml() expected XML, got #{xml.class}"
|
|
20
20
|
end
|
|
21
21
|
end
|
|
22
22
|
|
|
@@ -29,7 +29,7 @@ RSpec::Matchers.define :be_xml do |expected|
|
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
match do |actual|
|
|
32
|
-
expected_xml = to_nokogiri(expected) ||
|
|
32
|
+
expected_xml = to_nokogiri(expected) || raise("expected value #{expected} does not appear to be XML")
|
|
33
33
|
actual_xml = to_nokogiri(actual)
|
|
34
34
|
|
|
35
35
|
EquivalentXml.equivalent?(expected_xml, actual_xml, element_order: false, normalize_whitespace: true)
|
|
@@ -54,12 +54,9 @@ RSpec::Matchers.define :be_time do |expected|
|
|
|
54
54
|
end
|
|
55
55
|
|
|
56
56
|
match do |actual|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
else
|
|
61
|
-
return actual.nil?
|
|
62
|
-
end
|
|
57
|
+
return actual.nil? unless expected
|
|
58
|
+
raise "Expected value #{expected} is not a Time" unless expected.is_a?(Time)
|
|
59
|
+
actual.is_a?(Time) && (to_string(expected) == to_string(actual))
|
|
63
60
|
end
|
|
64
61
|
|
|
65
62
|
failure_message do |actual|
|
|
@@ -21,12 +21,12 @@ module XML
|
|
|
21
21
|
</array_node_spec_elem>'
|
|
22
22
|
xml = REXML::Document.new(xml_str).root
|
|
23
23
|
elem = ArrayNodeSpecElem.load_from_xml(xml)
|
|
24
|
-
expect(elem.child_nodes).to eq(%w
|
|
24
|
+
expect(elem.child_nodes).to eq(%w[foo bar])
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
it 'writes nested nodes' do
|
|
28
28
|
elem = ArrayNodeSpecElem.new
|
|
29
|
-
elem.child_nodes = %w
|
|
29
|
+
elem.child_nodes = %w[foo bar]
|
|
30
30
|
xml = elem.save_to_xml
|
|
31
31
|
expected_xml = '<array_node_spec_elem>
|
|
32
32
|
<child_nodes>
|
|
@@ -27,7 +27,7 @@ module XML
|
|
|
27
27
|
|
|
28
28
|
def <=>(other)
|
|
29
29
|
return nil unless self.class == other.class
|
|
30
|
-
[
|
|
30
|
+
%i[attribute text children].each do |p|
|
|
31
31
|
order = send(p) <=> other.send(p)
|
|
32
32
|
return order if order != 0
|
|
33
33
|
end
|
|
@@ -35,7 +35,7 @@ module XML
|
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
def hash
|
|
38
|
-
[
|
|
38
|
+
%i[attribute text children].hash
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
@@ -62,6 +62,25 @@ module XML
|
|
|
62
62
|
end
|
|
63
63
|
end
|
|
64
64
|
|
|
65
|
+
describe '#save_to_file' do
|
|
66
|
+
before(:each) do
|
|
67
|
+
@obj = MXSpecObject.new
|
|
68
|
+
@obj.attribute = 123
|
|
69
|
+
@obj.text = 'element text'
|
|
70
|
+
@obj.children = ['child 1', 'child 2']
|
|
71
|
+
@expected = REXML::Document.new(@obj.write_xml)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
it 'writes to a file' do
|
|
75
|
+
Dir.mktmpdir do |tmp|
|
|
76
|
+
outfile = "#{tmp}/mxspec.xml"
|
|
77
|
+
@obj.save_to_file(outfile)
|
|
78
|
+
outxml = File.read(outfile)
|
|
79
|
+
expect(outxml).to be_xml(@expected)
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
65
84
|
describe '#write_to_file' do
|
|
66
85
|
|
|
67
86
|
before(:each) do
|
|
@@ -126,7 +145,7 @@ module XML
|
|
|
126
145
|
end
|
|
127
146
|
|
|
128
147
|
it 'parses a file' do
|
|
129
|
-
xml_file = Tempfile.new(%w
|
|
148
|
+
xml_file = Tempfile.new(%w[parse_xml_spec.xml])
|
|
130
149
|
begin
|
|
131
150
|
xml_file.write(@xml_string)
|
|
132
151
|
xml_file.rewind
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# coding: utf-8
|
|
2
|
+
|
|
2
3
|
lib = File.expand_path('../lib', __FILE__)
|
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
5
|
|
|
@@ -23,15 +24,15 @@ Gem::Specification.new do |spec|
|
|
|
23
24
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
24
25
|
spec.require_paths = ['lib']
|
|
25
26
|
|
|
26
|
-
spec.add_dependency 'mime-types', '~>
|
|
27
|
+
spec.add_dependency 'mime-types', '~> 3.0'
|
|
27
28
|
spec.add_dependency 'typesafe_enum', '~> 0.1', '>= 0.1.5'
|
|
28
29
|
spec.add_dependency 'xml-mapping', '~> 0.10'
|
|
29
30
|
|
|
30
31
|
spec.add_development_dependency 'activesupport', '~> 4.2' # for testing
|
|
31
32
|
spec.add_development_dependency 'equivalent-xml', '~> 0.6.0'
|
|
32
|
-
spec.add_development_dependency 'rake', '
|
|
33
|
+
spec.add_development_dependency 'rake', '>= 10.4'
|
|
33
34
|
spec.add_development_dependency 'rspec', '~> 3.2'
|
|
34
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
|
35
|
+
spec.add_development_dependency 'rubocop', '~> 0.47'
|
|
35
36
|
spec.add_development_dependency 'simplecov', '~> 0.9.2'
|
|
36
37
|
spec.add_development_dependency 'simplecov-console', '~> 0.2.0'
|
|
37
38
|
spec.add_development_dependency 'yard', '~> 0.8'
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<module type="RUBY_MODULE" version="4">
|
|
3
|
+
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
|
4
|
+
<exclude-output />
|
|
5
|
+
<content url="file://$MODULE_DIR$" />
|
|
6
|
+
<orderEntry type="jdk" jdkName="ruby-2.2.5-p319" jdkType="RUBY_SDK" />
|
|
7
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
|
8
|
+
<orderEntry type="library" scope="PROVIDED" name="activesupport (v4.2.8, ruby-2.2.5-p319) [gem]" level="application" />
|
|
9
|
+
<orderEntry type="library" scope="PROVIDED" name="ast (v2.3.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
10
|
+
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.14.6, ruby-2.2.5-p319) [gem]" level="application" />
|
|
11
|
+
<orderEntry type="library" scope="PROVIDED" name="colorize (v0.8.1, ruby-2.2.5-p319) [gem]" level="application" />
|
|
12
|
+
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.3, ruby-2.2.5-p319) [gem]" level="application" />
|
|
13
|
+
<orderEntry type="library" scope="PROVIDED" name="docile (v1.1.5, ruby-2.2.5-p319) [gem]" level="application" />
|
|
14
|
+
<orderEntry type="library" scope="PROVIDED" name="equivalent-xml (v0.6.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
15
|
+
<orderEntry type="library" scope="PROVIDED" name="hirb (v0.7.3, ruby-2.2.5-p319) [gem]" level="application" />
|
|
16
|
+
<orderEntry type="library" scope="PROVIDED" name="i18n (v0.8.1, ruby-2.2.5-p319) [gem]" level="application" />
|
|
17
|
+
<orderEntry type="library" scope="PROVIDED" name="mime-types (v3.1, ruby-2.2.5-p319) [gem]" level="application" />
|
|
18
|
+
<orderEntry type="library" scope="PROVIDED" name="mime-types-data (v3.2016.0521, ruby-2.2.5-p319) [gem]" level="application" />
|
|
19
|
+
<orderEntry type="library" scope="PROVIDED" name="mini_portile2 (v2.1.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
20
|
+
<orderEntry type="library" scope="PROVIDED" name="minitest (v5.10.1, ruby-2.2.5-p319) [gem]" level="application" />
|
|
21
|
+
<orderEntry type="library" scope="PROVIDED" name="multi_json (v1.12.1, ruby-2.2.5-p319) [gem]" level="application" />
|
|
22
|
+
<orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.7.1, ruby-2.2.5-p319) [gem]" level="application" />
|
|
23
|
+
<orderEntry type="library" scope="PROVIDED" name="parser (v2.4.0.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
24
|
+
<orderEntry type="library" scope="PROVIDED" name="powerpack (v0.1.1, ruby-2.2.5-p319) [gem]" level="application" />
|
|
25
|
+
<orderEntry type="library" scope="PROVIDED" name="rainbow (v2.2.1, ruby-2.2.5-p319) [gem]" level="application" />
|
|
26
|
+
<orderEntry type="library" scope="PROVIDED" name="rake (v12.0.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
27
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec (v3.5.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
28
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.5.4, ruby-2.2.5-p319) [gem]" level="application" />
|
|
29
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.5.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
30
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.5.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
31
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.5.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
32
|
+
<orderEntry type="library" scope="PROVIDED" name="rubocop (v0.48.1, ruby-2.2.5-p319) [gem]" level="application" />
|
|
33
|
+
<orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.8.1, ruby-2.2.5-p319) [gem]" level="application" />
|
|
34
|
+
<orderEntry type="library" scope="PROVIDED" name="simplecov (v0.9.2, ruby-2.2.5-p319) [gem]" level="application" />
|
|
35
|
+
<orderEntry type="library" scope="PROVIDED" name="simplecov-console (v0.2.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
36
|
+
<orderEntry type="library" scope="PROVIDED" name="simplecov-html (v0.9.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
37
|
+
<orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.3.6, ruby-2.2.5-p319) [gem]" level="application" />
|
|
38
|
+
<orderEntry type="library" scope="PROVIDED" name="typesafe_enum (v0.1.7, ruby-2.2.5-p319) [gem]" level="application" />
|
|
39
|
+
<orderEntry type="library" scope="PROVIDED" name="tzinfo (v1.2.3, ruby-2.2.5-p319) [gem]" level="application" />
|
|
40
|
+
<orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v1.2.1, ruby-2.2.5-p319) [gem]" level="application" />
|
|
41
|
+
<orderEntry type="library" scope="PROVIDED" name="xml-mapping (v0.10.0, ruby-2.2.5-p319) [gem]" level="application" />
|
|
42
|
+
<orderEntry type="library" scope="PROVIDED" name="yard (v0.9.8, ruby-2.2.5-p319) [gem]" level="application" />
|
|
43
|
+
</component>
|
|
44
|
+
</module>
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: xml-mapping_extensions
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Moles
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2017-04-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: mime-types
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '3.0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
26
|
+
version: '3.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: typesafe_enum
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -90,14 +90,14 @@ dependencies:
|
|
|
90
90
|
name: rake
|
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
|
92
92
|
requirements:
|
|
93
|
-
- - "
|
|
93
|
+
- - ">="
|
|
94
94
|
- !ruby/object:Gem::Version
|
|
95
95
|
version: '10.4'
|
|
96
96
|
type: :development
|
|
97
97
|
prerelease: false
|
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
|
99
99
|
requirements:
|
|
100
|
-
- - "
|
|
100
|
+
- - ">="
|
|
101
101
|
- !ruby/object:Gem::Version
|
|
102
102
|
version: '10.4'
|
|
103
103
|
- !ruby/object:Gem::Dependency
|
|
@@ -120,14 +120,14 @@ dependencies:
|
|
|
120
120
|
requirements:
|
|
121
121
|
- - "~>"
|
|
122
122
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: 0.
|
|
123
|
+
version: '0.47'
|
|
124
124
|
type: :development
|
|
125
125
|
prerelease: false
|
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
|
127
127
|
requirements:
|
|
128
128
|
- - "~>"
|
|
129
129
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: 0.
|
|
130
|
+
version: '0.47'
|
|
131
131
|
- !ruby/object:Gem::Dependency
|
|
132
132
|
name: simplecov
|
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -178,6 +178,13 @@ extensions: []
|
|
|
178
178
|
extra_rdoc_files: []
|
|
179
179
|
files:
|
|
180
180
|
- ".gitignore"
|
|
181
|
+
- ".idea/emacs.xml"
|
|
182
|
+
- ".idea/encodings.xml"
|
|
183
|
+
- ".idea/inspectionProfiles/Project_Default.xml"
|
|
184
|
+
- ".idea/misc.xml"
|
|
185
|
+
- ".idea/modules.xml"
|
|
186
|
+
- ".idea/sbt.xml"
|
|
187
|
+
- ".idea/vcs.xml"
|
|
181
188
|
- ".rubocop.yml"
|
|
182
189
|
- ".ruby-version"
|
|
183
190
|
- ".yardopts"
|
|
@@ -213,6 +220,7 @@ files:
|
|
|
213
220
|
- spec/unit/xml/mapping_extensions/typesafe_enum_node_spec.rb
|
|
214
221
|
- spec/unit/xml/mapping_extensions/uri_node_spec.rb
|
|
215
222
|
- xml-mapping_extensions.gemspec
|
|
223
|
+
- xml-mapping_extensions.iml
|
|
216
224
|
homepage: http://github.com/dmolesUC3/xml-mapping_extensions
|
|
217
225
|
licenses:
|
|
218
226
|
- MIT
|
|
@@ -233,7 +241,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
233
241
|
version: '0'
|
|
234
242
|
requirements: []
|
|
235
243
|
rubyforge_project:
|
|
236
|
-
rubygems_version: 2.6.
|
|
244
|
+
rubygems_version: 2.6.8
|
|
237
245
|
signing_key:
|
|
238
246
|
specification_version: 4
|
|
239
247
|
summary: Some extensions for for XML::Mapping
|
|
@@ -253,4 +261,3 @@ test_files:
|
|
|
253
261
|
- spec/unit/xml/mapping_extensions/time_node_spec.rb
|
|
254
262
|
- spec/unit/xml/mapping_extensions/typesafe_enum_node_spec.rb
|
|
255
263
|
- spec/unit/xml/mapping_extensions/uri_node_spec.rb
|
|
256
|
-
has_rdoc:
|