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 CHANGED
@@ -1 +1 @@
1
- 0.5.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
- attributes_from_superclass(path, :attributes_from_xml_path).merge(mapper.attributes_from_xml_path(path))
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)
@@ -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.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}
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.4.2}
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: 1
4
+ hash: 7
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 5
10
- version: 0.5.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-12 00:00:00 +02:00
19
- default_executable:
18
+ date: 2011-04-18 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
- type: :runtime
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
- requirement: *id001
33
- prerelease: false
30
+ version_requirements: *id001
34
31
  name: nokogiri
32
+ prerelease: false
33
+ type: :runtime
35
34
  - !ruby/object:Gem::Dependency
36
- type: :development
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
- requirement: *id002
47
- prerelease: false
44
+ version_requirements: *id002
48
45
  name: autotest
49
- - !ruby/object:Gem::Dependency
46
+ prerelease: false
50
47
  type: :development
51
- version_requirements: &id003 !ruby/object:Gem::Requirement
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
- requirement: *id003
61
- prerelease: false
58
+ version_requirements: *id003
62
59
  name: autotest-growl
63
- - !ruby/object:Gem::Dependency
60
+ prerelease: false
64
61
  type: :development
65
- version_requirements: &id004 !ruby/object:Gem::Requirement
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
- requirement: *id004
77
- prerelease: false
74
+ version_requirements: *id004
78
75
  name: rspec
79
- - !ruby/object:Gem::Dependency
76
+ prerelease: false
80
77
  type: :development
81
- version_requirements: &id005 !ruby/object:Gem::Requirement
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
- requirement: *id005
91
- prerelease: false
88
+ version_requirements: *id005
92
89
  name: ruby-debug
93
- - !ruby/object:Gem::Dependency
90
+ prerelease: false
94
91
  type: :development
95
- version_requirements: &id006 !ruby/object:Gem::Requirement
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
- requirement: *id006
105
- prerelease: false
102
+ version_requirements: *id006
106
103
  name: cucumber
107
- - !ruby/object:Gem::Dependency
104
+ prerelease: false
108
105
  type: :development
109
- version_requirements: &id007 !ruby/object:Gem::Requirement
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
- requirement: *id007
121
- prerelease: false
118
+ version_requirements: *id007
122
119
  name: bundler
123
- - !ruby/object:Gem::Dependency
120
+ prerelease: false
124
121
  type: :development
125
- version_requirements: &id008 !ruby/object:Gem::Requirement
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
- requirement: *id008
137
- prerelease: false
134
+ version_requirements: *id008
138
135
  name: jeweler
139
- - !ruby/object:Gem::Dependency
136
+ prerelease: false
140
137
  type: :development
141
- version_requirements: &id009 !ruby/object:Gem::Requirement
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
- requirement: *id009
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.4.2
213
+ rubygems_version: 1.7.2
216
214
  signing_key:
217
215
  specification_version: 3
218
216
  summary: Declarative XML to Ruby mapping