xml_mapper 0.5.7 → 0.5.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.
- data/VERSION +1 -1
- data/lib/xml_mapper.rb +1 -1
- data/spec/xml_mapper_spec.rb +17 -0
- data/xml_mapper.gemspec +3 -3
- metadata +43 -41
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.8
|
data/lib/xml_mapper.rb
CHANGED
@@ -136,7 +136,7 @@ class XmlMapper
|
|
136
136
|
if xml_or_doc.is_a?(Array)
|
137
137
|
xml_or_doc.map { |doc| attributes_from_xml(doc, xml_path) }
|
138
138
|
else
|
139
|
-
doc = xml_or_doc.is_a?(Nokogiri::XML::Node) ? xml_or_doc : Nokogiri::XML(xml_or_doc.gsub(/xmlns
|
139
|
+
doc = xml_or_doc.is_a?(Nokogiri::XML::Node) ? xml_or_doc : Nokogiri::XML(xml_or_doc.gsub(/xmlns=[\"\'].*?[\"\']/, "")) # get rid of xml namespaces, quick and dirty
|
140
140
|
doc = doc.root if doc.respond_to?(:root)
|
141
141
|
atts = self.mappings.inject(XmlMapperHash.from_path_and_node(xml_path, doc)) do |hash, mapping|
|
142
142
|
if (value = value_from_doc_and_mapping(doc, mapping, xml_path)) != :not_found
|
data/spec/xml_mapper_spec.rb
CHANGED
@@ -874,6 +874,23 @@ describe "XmlMapper" do
|
|
874
874
|
Mapper.attributes_from_xml(xml).should == { :title => "Black on Both Sides" }
|
875
875
|
end
|
876
876
|
|
877
|
+
it "also removes xmlsns not ending with xsd" do
|
878
|
+
xml = %(
|
879
|
+
<product xmlns="http://www.fuck.com/you/umg">
|
880
|
+
<album>
|
881
|
+
<title>Some Title</title>
|
882
|
+
</album>
|
883
|
+
</product>
|
884
|
+
)
|
885
|
+
class Mapper < XmlMapper
|
886
|
+
within "album" do
|
887
|
+
text "title" => :title
|
888
|
+
end
|
889
|
+
end
|
890
|
+
|
891
|
+
Mapper.attributes_from_xml(xml).should == { :title => "Some Title" }
|
892
|
+
end
|
893
|
+
|
877
894
|
it "allows forcing xpath style selectors" do
|
878
895
|
mapper = create_class.new
|
879
896
|
mapper.add_mapping(:many, { "tracks/track" => :tracks }, :mapper => XmlMapper.new)
|
data/xml_mapper.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{xml_mapper}
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Tobias Schwab"]
|
12
|
-
s.date = %q{2011-08-
|
12
|
+
s.date = %q{2011-08-15}
|
13
13
|
s.description = %q{Declarative XML to Ruby mapping}
|
14
14
|
s.email = %q{tobias.schwab@dynport.de}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
|
|
43
43
|
s.homepage = %q{http://github.com/dynport/xml_mapper}
|
44
44
|
s.licenses = ["MIT"]
|
45
45
|
s.require_paths = ["lib"]
|
46
|
-
s.rubygems_version = %q{1.
|
46
|
+
s.rubygems_version = %q{1.6.2}
|
47
47
|
s.summary = %q{Declarative XML to Ruby mapping}
|
48
48
|
s.test_files = [
|
49
49
|
"spec/example_spec.rb",
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xml_mapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 0.5.
|
9
|
+
- 8
|
10
|
+
version: 0.5.8
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tobias Schwab
|
@@ -15,10 +15,13 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-08-
|
18
|
+
date: 2011-08-15 00:00:00 +02:00
|
19
|
+
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
|
-
|
22
|
+
name: nokogiri
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
22
25
|
none: false
|
23
26
|
requirements:
|
24
27
|
- - ">="
|
@@ -27,12 +30,12 @@ dependencies:
|
|
27
30
|
segments:
|
28
31
|
- 0
|
29
32
|
version: "0"
|
30
|
-
version_requirements: *id001
|
31
|
-
name: nokogiri
|
32
|
-
prerelease: false
|
33
33
|
type: :runtime
|
34
|
+
requirement: *id001
|
34
35
|
- !ruby/object:Gem::Dependency
|
35
|
-
|
36
|
+
name: autotest
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
36
39
|
none: false
|
37
40
|
requirements:
|
38
41
|
- - ">="
|
@@ -41,12 +44,12 @@ dependencies:
|
|
41
44
|
segments:
|
42
45
|
- 0
|
43
46
|
version: "0"
|
44
|
-
version_requirements: *id002
|
45
|
-
name: autotest
|
46
|
-
prerelease: false
|
47
47
|
type: :development
|
48
|
+
requirement: *id002
|
48
49
|
- !ruby/object:Gem::Dependency
|
49
|
-
|
50
|
+
name: autotest-growl
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
50
53
|
none: false
|
51
54
|
requirements:
|
52
55
|
- - ">="
|
@@ -55,12 +58,12 @@ dependencies:
|
|
55
58
|
segments:
|
56
59
|
- 0
|
57
60
|
version: "0"
|
58
|
-
version_requirements: *id003
|
59
|
-
name: autotest-growl
|
60
|
-
prerelease: false
|
61
61
|
type: :development
|
62
|
+
requirement: *id003
|
62
63
|
- !ruby/object:Gem::Dependency
|
63
|
-
|
64
|
+
name: rspec
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
64
67
|
none: false
|
65
68
|
requirements:
|
66
69
|
- - ~>
|
@@ -71,12 +74,12 @@ dependencies:
|
|
71
74
|
- 1
|
72
75
|
- 0
|
73
76
|
version: 2.1.0
|
74
|
-
version_requirements: *id004
|
75
|
-
name: rspec
|
76
|
-
prerelease: false
|
77
77
|
type: :development
|
78
|
+
requirement: *id004
|
78
79
|
- !ruby/object:Gem::Dependency
|
79
|
-
|
80
|
+
name: ruby-debug
|
81
|
+
prerelease: false
|
82
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
80
83
|
none: false
|
81
84
|
requirements:
|
82
85
|
- - ">="
|
@@ -85,12 +88,12 @@ dependencies:
|
|
85
88
|
segments:
|
86
89
|
- 0
|
87
90
|
version: "0"
|
88
|
-
version_requirements: *id005
|
89
|
-
name: ruby-debug
|
90
|
-
prerelease: false
|
91
91
|
type: :development
|
92
|
+
requirement: *id005
|
92
93
|
- !ruby/object:Gem::Dependency
|
93
|
-
|
94
|
+
name: cucumber
|
95
|
+
prerelease: false
|
96
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
94
97
|
none: false
|
95
98
|
requirements:
|
96
99
|
- - ">="
|
@@ -99,12 +102,12 @@ dependencies:
|
|
99
102
|
segments:
|
100
103
|
- 0
|
101
104
|
version: "0"
|
102
|
-
version_requirements: *id006
|
103
|
-
name: cucumber
|
104
|
-
prerelease: false
|
105
105
|
type: :development
|
106
|
+
requirement: *id006
|
106
107
|
- !ruby/object:Gem::Dependency
|
107
|
-
|
108
|
+
name: bundler
|
109
|
+
prerelease: false
|
110
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
108
111
|
none: false
|
109
112
|
requirements:
|
110
113
|
- - ~>
|
@@ -115,12 +118,12 @@ dependencies:
|
|
115
118
|
- 0
|
116
119
|
- 0
|
117
120
|
version: 1.0.0
|
118
|
-
version_requirements: *id007
|
119
|
-
name: bundler
|
120
|
-
prerelease: false
|
121
121
|
type: :development
|
122
|
+
requirement: *id007
|
122
123
|
- !ruby/object:Gem::Dependency
|
123
|
-
|
124
|
+
name: jeweler
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
124
127
|
none: false
|
125
128
|
requirements:
|
126
129
|
- - ~>
|
@@ -131,12 +134,12 @@ dependencies:
|
|
131
134
|
- 5
|
132
135
|
- 1
|
133
136
|
version: 1.5.1
|
134
|
-
version_requirements: *id008
|
135
|
-
name: jeweler
|
136
|
-
prerelease: false
|
137
137
|
type: :development
|
138
|
+
requirement: *id008
|
138
139
|
- !ruby/object:Gem::Dependency
|
139
|
-
|
140
|
+
name: rcov
|
141
|
+
prerelease: false
|
142
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
140
143
|
none: false
|
141
144
|
requirements:
|
142
145
|
- - ">="
|
@@ -145,10 +148,8 @@ dependencies:
|
|
145
148
|
segments:
|
146
149
|
- 0
|
147
150
|
version: "0"
|
148
|
-
version_requirements: *id009
|
149
|
-
name: rcov
|
150
|
-
prerelease: false
|
151
151
|
type: :development
|
152
|
+
requirement: *id009
|
152
153
|
description: Declarative XML to Ruby mapping
|
153
154
|
email: tobias.schwab@dynport.de
|
154
155
|
executables: []
|
@@ -181,6 +182,7 @@ files:
|
|
181
182
|
- spec/xml_mapper_hash_spec.rb
|
182
183
|
- spec/xml_mapper_spec.rb
|
183
184
|
- xml_mapper.gemspec
|
185
|
+
has_rdoc: true
|
184
186
|
homepage: http://github.com/dynport/xml_mapper
|
185
187
|
licenses:
|
186
188
|
- MIT
|
@@ -210,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
210
212
|
requirements: []
|
211
213
|
|
212
214
|
rubyforge_project:
|
213
|
-
rubygems_version: 1.
|
215
|
+
rubygems_version: 1.6.2
|
214
216
|
signing_key:
|
215
217
|
specification_version: 3
|
216
218
|
summary: Declarative XML to Ruby mapping
|