xml_mapper 0.5.3 → 0.5.4

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.3
1
+ 0.5.4
data/lib/xml_mapper.rb CHANGED
@@ -127,7 +127,7 @@ class XmlMapper
127
127
  if xml_or_doc.is_a?(Array)
128
128
  xml_or_doc.map { |doc| attributes_from_xml(doc, xml_path) }
129
129
  else
130
- doc = xml_or_doc.is_a?(Nokogiri::XML::Node) ? xml_or_doc : Nokogiri::XML(xml_or_doc)
130
+ 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
131
131
  doc = doc.root if doc.respond_to?(:root)
132
132
  atts = self.mappings.inject(XmlMapperHash.from_path_and_node(xml_path, doc)) do |hash, mapping|
133
133
  if (value = value_from_doc_and_mapping(doc, mapping, xml_path)) != :not_found
@@ -848,4 +848,21 @@ describe "XmlMapper" do
848
848
  }
849
849
  end
850
850
  end
851
+
852
+ it "does not care about xmlns" do
853
+ xml = %(
854
+ <submission xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://schemas.ingrooves.com/INgrooves/INgrooves_2_0.xsd http://schemas.ingrooves.com/INgrooves/INgrooves_2_0.xsd" schema_version="1" schema_revision="0" xmlns="http://schemas.ingrooves.com/INgrooves/INgrooves_2_0.xsd">
855
+ <album>
856
+ <title>Black on Both Sides</title>
857
+ </album>
858
+ </submission>
859
+ )
860
+ class Mapper < XmlMapper
861
+ within "album" do
862
+ text "title" => :title
863
+ end
864
+ end
865
+
866
+ Mapper.attributes_from_xml(xml).should == { :title => "Black on Both Sides" }
867
+ end
851
868
  end
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.3"
8
+ s.version = "0.5.4"
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-08}
12
+ s.date = %q{2011-04-11}
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.6.2}
46
+ s.rubygems_version = %q{1.4.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: 13
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 3
10
- version: 0.5.3
9
+ - 4
10
+ version: 0.5.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tobias Schwab
@@ -15,12 +15,12 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-08 00:00:00 +02:00
18
+ date: 2011-04-11 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  type: :runtime
23
- requirement: &id001 !ruby/object:Gem::Requirement
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
24
  none: false
25
25
  requirements:
26
26
  - - ">="
@@ -29,12 +29,12 @@ dependencies:
29
29
  segments:
30
30
  - 0
31
31
  version: "0"
32
- name: nokogiri
33
- version_requirements: *id001
32
+ requirement: *id001
34
33
  prerelease: false
34
+ name: nokogiri
35
35
  - !ruby/object:Gem::Dependency
36
36
  type: :development
37
- requirement: &id002 !ruby/object:Gem::Requirement
37
+ version_requirements: &id002 !ruby/object:Gem::Requirement
38
38
  none: false
39
39
  requirements:
40
40
  - - ">="
@@ -43,12 +43,12 @@ dependencies:
43
43
  segments:
44
44
  - 0
45
45
  version: "0"
46
- name: autotest
47
- version_requirements: *id002
46
+ requirement: *id002
48
47
  prerelease: false
48
+ name: autotest
49
49
  - !ruby/object:Gem::Dependency
50
50
  type: :development
51
- requirement: &id003 !ruby/object:Gem::Requirement
51
+ version_requirements: &id003 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ">="
@@ -57,12 +57,12 @@ dependencies:
57
57
  segments:
58
58
  - 0
59
59
  version: "0"
60
- name: autotest-growl
61
- version_requirements: *id003
60
+ requirement: *id003
62
61
  prerelease: false
62
+ name: autotest-growl
63
63
  - !ruby/object:Gem::Dependency
64
64
  type: :development
65
- requirement: &id004 !ruby/object:Gem::Requirement
65
+ version_requirements: &id004 !ruby/object:Gem::Requirement
66
66
  none: false
67
67
  requirements:
68
68
  - - ~>
@@ -73,12 +73,12 @@ dependencies:
73
73
  - 1
74
74
  - 0
75
75
  version: 2.1.0
76
- name: rspec
77
- version_requirements: *id004
76
+ requirement: *id004
78
77
  prerelease: false
78
+ name: rspec
79
79
  - !ruby/object:Gem::Dependency
80
80
  type: :development
81
- requirement: &id005 !ruby/object:Gem::Requirement
81
+ version_requirements: &id005 !ruby/object:Gem::Requirement
82
82
  none: false
83
83
  requirements:
84
84
  - - ">="
@@ -87,12 +87,12 @@ dependencies:
87
87
  segments:
88
88
  - 0
89
89
  version: "0"
90
- name: ruby-debug
91
- version_requirements: *id005
90
+ requirement: *id005
92
91
  prerelease: false
92
+ name: ruby-debug
93
93
  - !ruby/object:Gem::Dependency
94
94
  type: :development
95
- requirement: &id006 !ruby/object:Gem::Requirement
95
+ version_requirements: &id006 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
98
98
  - - ">="
@@ -101,12 +101,12 @@ dependencies:
101
101
  segments:
102
102
  - 0
103
103
  version: "0"
104
- name: cucumber
105
- version_requirements: *id006
104
+ requirement: *id006
106
105
  prerelease: false
106
+ name: cucumber
107
107
  - !ruby/object:Gem::Dependency
108
108
  type: :development
109
- requirement: &id007 !ruby/object:Gem::Requirement
109
+ version_requirements: &id007 !ruby/object:Gem::Requirement
110
110
  none: false
111
111
  requirements:
112
112
  - - ~>
@@ -117,12 +117,12 @@ dependencies:
117
117
  - 0
118
118
  - 0
119
119
  version: 1.0.0
120
- name: bundler
121
- version_requirements: *id007
120
+ requirement: *id007
122
121
  prerelease: false
122
+ name: bundler
123
123
  - !ruby/object:Gem::Dependency
124
124
  type: :development
125
- requirement: &id008 !ruby/object:Gem::Requirement
125
+ version_requirements: &id008 !ruby/object:Gem::Requirement
126
126
  none: false
127
127
  requirements:
128
128
  - - ~>
@@ -133,12 +133,12 @@ dependencies:
133
133
  - 5
134
134
  - 1
135
135
  version: 1.5.1
136
- name: jeweler
137
- version_requirements: *id008
136
+ requirement: *id008
138
137
  prerelease: false
138
+ name: jeweler
139
139
  - !ruby/object:Gem::Dependency
140
140
  type: :development
141
- requirement: &id009 !ruby/object:Gem::Requirement
141
+ version_requirements: &id009 !ruby/object:Gem::Requirement
142
142
  none: false
143
143
  requirements:
144
144
  - - ">="
@@ -147,9 +147,9 @@ dependencies:
147
147
  segments:
148
148
  - 0
149
149
  version: "0"
150
- name: rcov
151
- version_requirements: *id009
150
+ requirement: *id009
152
151
  prerelease: false
152
+ name: rcov
153
153
  description: Declarative XML to Ruby mapping
154
154
  email: tobias.schwab@dynport.de
155
155
  executables: []
@@ -212,7 +212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
212
212
  requirements: []
213
213
 
214
214
  rubyforge_project:
215
- rubygems_version: 1.6.2
215
+ rubygems_version: 1.4.2
216
216
  signing_key:
217
217
  specification_version: 3
218
218
  summary: Declarative XML to Ruby mapping