xml_mapper 0.5.5 → 0.5.6
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 +6 -2
- data/spec/xml_mapper_spec.rb +11 -0
- data/xml_mapper.gemspec +3 -3
- metadata +41 -43
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.6
|
data/lib/xml_mapper.rb
CHANGED
@@ -46,8 +46,12 @@ class XmlMapper
|
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
-
def attributes_from_xml_path(path)
|
50
|
-
|
49
|
+
def attributes_from_xml_path(path, xml = nil)
|
50
|
+
if xml
|
51
|
+
attributes_from_superclass(xml, :attributes_from_xml).merge(mapper.attributes_from_xml(xml, path))
|
52
|
+
else
|
53
|
+
attributes_from_superclass(path, :attributes_from_xml_path).merge(mapper.attributes_from_xml_path(path))
|
54
|
+
end
|
51
55
|
end
|
52
56
|
|
53
57
|
def capture_submapping(&block)
|
data/spec/xml_mapper_spec.rb
CHANGED
@@ -467,6 +467,17 @@ describe "XmlMapper" do
|
|
467
467
|
}
|
468
468
|
end
|
469
469
|
|
470
|
+
it "allows providing of custom xml on second parameter of attributes_from_xml_path" do
|
471
|
+
data = %(<album><title>Static Test</title></album>)
|
472
|
+
@clazz.text(:title)
|
473
|
+
@clazz.after_map do
|
474
|
+
self[:some_path] = xml_path
|
475
|
+
end
|
476
|
+
@clazz.attributes_from_xml_path("/some/path.xml", data).should == {
|
477
|
+
:title => "Static Test", :some_path => "/some/path.xml"
|
478
|
+
}
|
479
|
+
end
|
480
|
+
|
470
481
|
it "allows defining a after_map block" do
|
471
482
|
@clazz.after_map do
|
472
483
|
self[:upc] = "1234"
|
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.6"
|
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-04-
|
12
|
+
s.date = %q{2011-04-18}
|
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.7.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: 7
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 0.5.
|
9
|
+
- 6
|
10
|
+
version: 0.5.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tobias Schwab
|
@@ -15,12 +15,10 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-04-
|
19
|
-
default_executable:
|
18
|
+
date: 2011-04-18 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
|
-
|
23
|
-
version_requirements: &id001 !ruby/object:Gem::Requirement
|
21
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
22
|
none: false
|
25
23
|
requirements:
|
26
24
|
- - ">="
|
@@ -29,12 +27,12 @@ dependencies:
|
|
29
27
|
segments:
|
30
28
|
- 0
|
31
29
|
version: "0"
|
32
|
-
|
33
|
-
prerelease: false
|
30
|
+
version_requirements: *id001
|
34
31
|
name: nokogiri
|
32
|
+
prerelease: false
|
33
|
+
type: :runtime
|
35
34
|
- !ruby/object:Gem::Dependency
|
36
|
-
|
37
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
35
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
36
|
none: false
|
39
37
|
requirements:
|
40
38
|
- - ">="
|
@@ -43,12 +41,12 @@ dependencies:
|
|
43
41
|
segments:
|
44
42
|
- 0
|
45
43
|
version: "0"
|
46
|
-
|
47
|
-
prerelease: false
|
44
|
+
version_requirements: *id002
|
48
45
|
name: autotest
|
49
|
-
|
46
|
+
prerelease: false
|
50
47
|
type: :development
|
51
|
-
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
50
|
none: false
|
53
51
|
requirements:
|
54
52
|
- - ">="
|
@@ -57,12 +55,12 @@ dependencies:
|
|
57
55
|
segments:
|
58
56
|
- 0
|
59
57
|
version: "0"
|
60
|
-
|
61
|
-
prerelease: false
|
58
|
+
version_requirements: *id003
|
62
59
|
name: autotest-growl
|
63
|
-
|
60
|
+
prerelease: false
|
64
61
|
type: :development
|
65
|
-
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
66
64
|
none: false
|
67
65
|
requirements:
|
68
66
|
- - ~>
|
@@ -73,12 +71,12 @@ dependencies:
|
|
73
71
|
- 1
|
74
72
|
- 0
|
75
73
|
version: 2.1.0
|
76
|
-
|
77
|
-
prerelease: false
|
74
|
+
version_requirements: *id004
|
78
75
|
name: rspec
|
79
|
-
|
76
|
+
prerelease: false
|
80
77
|
type: :development
|
81
|
-
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
82
80
|
none: false
|
83
81
|
requirements:
|
84
82
|
- - ">="
|
@@ -87,12 +85,12 @@ dependencies:
|
|
87
85
|
segments:
|
88
86
|
- 0
|
89
87
|
version: "0"
|
90
|
-
|
91
|
-
prerelease: false
|
88
|
+
version_requirements: *id005
|
92
89
|
name: ruby-debug
|
93
|
-
|
90
|
+
prerelease: false
|
94
91
|
type: :development
|
95
|
-
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
96
94
|
none: false
|
97
95
|
requirements:
|
98
96
|
- - ">="
|
@@ -101,12 +99,12 @@ dependencies:
|
|
101
99
|
segments:
|
102
100
|
- 0
|
103
101
|
version: "0"
|
104
|
-
|
105
|
-
prerelease: false
|
102
|
+
version_requirements: *id006
|
106
103
|
name: cucumber
|
107
|
-
|
104
|
+
prerelease: false
|
108
105
|
type: :development
|
109
|
-
|
106
|
+
- !ruby/object:Gem::Dependency
|
107
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
110
108
|
none: false
|
111
109
|
requirements:
|
112
110
|
- - ~>
|
@@ -117,12 +115,12 @@ dependencies:
|
|
117
115
|
- 0
|
118
116
|
- 0
|
119
117
|
version: 1.0.0
|
120
|
-
|
121
|
-
prerelease: false
|
118
|
+
version_requirements: *id007
|
122
119
|
name: bundler
|
123
|
-
|
120
|
+
prerelease: false
|
124
121
|
type: :development
|
125
|
-
|
122
|
+
- !ruby/object:Gem::Dependency
|
123
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
126
124
|
none: false
|
127
125
|
requirements:
|
128
126
|
- - ~>
|
@@ -133,12 +131,12 @@ dependencies:
|
|
133
131
|
- 5
|
134
132
|
- 1
|
135
133
|
version: 1.5.1
|
136
|
-
|
137
|
-
prerelease: false
|
134
|
+
version_requirements: *id008
|
138
135
|
name: jeweler
|
139
|
-
|
136
|
+
prerelease: false
|
140
137
|
type: :development
|
141
|
-
|
138
|
+
- !ruby/object:Gem::Dependency
|
139
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
142
140
|
none: false
|
143
141
|
requirements:
|
144
142
|
- - ">="
|
@@ -147,9 +145,10 @@ dependencies:
|
|
147
145
|
segments:
|
148
146
|
- 0
|
149
147
|
version: "0"
|
150
|
-
|
151
|
-
prerelease: false
|
148
|
+
version_requirements: *id009
|
152
149
|
name: rcov
|
150
|
+
prerelease: false
|
151
|
+
type: :development
|
153
152
|
description: Declarative XML to Ruby mapping
|
154
153
|
email: tobias.schwab@dynport.de
|
155
154
|
executables: []
|
@@ -182,7 +181,6 @@ files:
|
|
182
181
|
- spec/xml_mapper_hash_spec.rb
|
183
182
|
- spec/xml_mapper_spec.rb
|
184
183
|
- xml_mapper.gemspec
|
185
|
-
has_rdoc: true
|
186
184
|
homepage: http://github.com/dynport/xml_mapper
|
187
185
|
licenses:
|
188
186
|
- MIT
|
@@ -212,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
212
210
|
requirements: []
|
213
211
|
|
214
212
|
rubyforge_project:
|
215
|
-
rubygems_version: 1.
|
213
|
+
rubygems_version: 1.7.2
|
216
214
|
signing_key:
|
217
215
|
specification_version: 3
|
218
216
|
summary: Declarative XML to Ruby mapping
|