xml_mapper 0.5.3 → 0.5.4

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