xml_mapper 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
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