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 CHANGED
@@ -1 +1 @@
1
- 0.5.7
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=.*?.xsd[\"\']/, "")) # get rid of xml namespaces, quick and dirty
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
@@ -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.7"
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-02}
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.7.2}
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: 5
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 7
10
- version: 0.5.7
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-02 00:00:00 Z
18
+ date: 2011-08-15 00:00:00 +02:00
19
+ default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- requirement: &id001 !ruby/object:Gem::Requirement
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- requirement: &id003 !ruby/object:Gem::Requirement
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
- requirement: &id004 !ruby/object:Gem::Requirement
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
- requirement: &id005 !ruby/object:Gem::Requirement
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
- requirement: &id006 !ruby/object:Gem::Requirement
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
- requirement: &id007 !ruby/object:Gem::Requirement
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
- requirement: &id008 !ruby/object:Gem::Requirement
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
- requirement: &id009 !ruby/object:Gem::Requirement
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.7.2
215
+ rubygems_version: 1.6.2
214
216
  signing_key:
215
217
  specification_version: 3
216
218
  summary: Declarative XML to Ruby mapping