xml_mapper 0.5.7 → 0.5.8

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.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