rosemary 0.3.3 → 0.3.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/lib/rosemary/parser.rb +8 -1
- data/lib/rosemary/version.rb +1 -1
- data/spec/models/parser_spec.rb +24 -0
- metadata +22 -18
data/lib/rosemary/parser.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'httparty'
|
2
2
|
require 'xml/libxml'
|
3
|
+
|
3
4
|
class Rosemary::Parser < HTTParty::Parser
|
4
5
|
include LibXML::XML::SaxParser::Callbacks
|
5
6
|
|
@@ -15,7 +16,13 @@ class Rosemary::Parser < HTTParty::Parser
|
|
15
16
|
end
|
16
17
|
|
17
18
|
def xml
|
18
|
-
|
19
|
+
# instead of using
|
20
|
+
# LibXML::XML::default_substitute_entities = true
|
21
|
+
# we change the options of the xml context:
|
22
|
+
ctx = XML::Parser::Context.string(body)
|
23
|
+
ctx.options = XML::Parser::Options::NOENT
|
24
|
+
@parser = LibXML::XML::SaxParser.new(ctx)
|
25
|
+
|
19
26
|
@parser.callbacks = self
|
20
27
|
@parser.parse
|
21
28
|
@collection.empty? ? @context : @collection
|
data/lib/rosemary/version.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
include Rosemary
|
3
|
+
describe Parser do
|
4
|
+
context "xml" do
|
5
|
+
it "parses ampersands correctly" do
|
6
|
+
|
7
|
+
node_xml =<<-EOF
|
8
|
+
<osm>
|
9
|
+
<node id="123" lat="51.2" lon="13.4" version="42" changeset="12" user="fred" uid="123" visible="true" timestamp="2005-07-30T14:27:12+01:00">
|
10
|
+
<tag k="note" v="Just a node"/>
|
11
|
+
<tag k="amenity" v="bar" />
|
12
|
+
<tag k="name" v="The rose & the pony" />
|
13
|
+
</node>
|
14
|
+
</osm>
|
15
|
+
EOF
|
16
|
+
|
17
|
+
n = Parser.call(node_xml, :xml)
|
18
|
+
n.name.should == "The rose & the pony"
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rosemary
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-03-22 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
16
|
-
requirement: &
|
16
|
+
requirement: &70334409635220 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70334409635220
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: libxml-ruby
|
27
|
-
requirement: &
|
27
|
+
requirement: &70334409634680 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70334409634680
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: builder
|
38
|
-
requirement: &
|
38
|
+
requirement: &70334409634120 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70334409634120
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: oauth
|
49
|
-
requirement: &
|
49
|
+
requirement: &70334409633580 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70334409633580
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: activemodel
|
60
|
-
requirement: &
|
60
|
+
requirement: &70334409633020 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70334409633020
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
|
-
requirement: &
|
71
|
+
requirement: &70334409632200 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70334409632200
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: webmock
|
82
|
-
requirement: &
|
82
|
+
requirement: &70334409631420 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70334409631420
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: rake
|
93
|
-
requirement: &
|
93
|
+
requirement: &70334409630720 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70334409630720
|
102
102
|
description: OpenStreetMap API client for ruby
|
103
103
|
email:
|
104
104
|
- info@christophbuente.de
|
@@ -143,6 +143,7 @@ files:
|
|
143
143
|
- spec/integration/way_spec.rb
|
144
144
|
- spec/models/changeset_spec.rb
|
145
145
|
- spec/models/node_spec.rb
|
146
|
+
- spec/models/parser_spec.rb
|
146
147
|
- spec/models/relation_spec.rb
|
147
148
|
- spec/models/way_spec.rb
|
148
149
|
- spec/spec_helper.rb
|
@@ -164,6 +165,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
164
165
|
- - ! '>='
|
165
166
|
- !ruby/object:Gem::Version
|
166
167
|
version: '0'
|
168
|
+
segments:
|
169
|
+
- 0
|
170
|
+
hash: 4299720809747143469
|
167
171
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
168
172
|
none: false
|
169
173
|
requirements:
|
@@ -183,7 +187,7 @@ test_files:
|
|
183
187
|
- spec/integration/way_spec.rb
|
184
188
|
- spec/models/changeset_spec.rb
|
185
189
|
- spec/models/node_spec.rb
|
190
|
+
- spec/models/parser_spec.rb
|
186
191
|
- spec/models/relation_spec.rb
|
187
192
|
- spec/models/way_spec.rb
|
188
193
|
- spec/spec_helper.rb
|
189
|
-
has_rdoc:
|