rosemary 0.4.0 → 0.4.1
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.
- checksums.yaml +8 -8
- data/CHANGELOG.md +19 -0
- data/lib/rosemary/note.rb +4 -0
- data/lib/rosemary/parser.rb +39 -32
- data/lib/rosemary/version.rb +1 -1
- data/rosemary.gemspec +1 -1
- data/spec/integration/note_spec.rb +17 -12
- metadata +4 -4
- data/CHANGELOG +0 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NDI3NDY3ZWM5MTI0MTE3OTgzYTE2MWNlMWU2MTM1YWNiNjBiNDY3ZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZWQyNmNlMWVmZTdjYmIyNDE0NmRhZmQ2ZGU5MjJhZDdhNDQwYTA2Yg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OTkxZjI5NjY3NzhkZGM1ZTM5NzhlYjJmYzFjZDhjNzkwZDgyNWIzYTY5ZTA1
|
10
|
+
ZTVhMjNjNTU3ZjMwYWNiZjY2MjczNjhkMmUzYWY2YzdmYWUwNzU5OTA3MjY1
|
11
|
+
YTZkYzhkMTkwZjRjZmMzZjJlZjc5YWVmMjQ0YzM3ZTllZDBmMjE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MzBkZTViYTBkNjVlNzdmNzQ1YTkyNDdiMjNlNTgxNzU0YzM5Y2Q4OTk2Nzk4
|
14
|
+
ZDgwMjA5OTUwZDI2ZmNlOTUxNmU3NzI4ZWM1Y2FhNzBhOTFlZGY3M2Q0OWVi
|
15
|
+
NjQ1Mjg4ZTVjZDdhNTliZTk0MDZiYzAwMjlmZTg3OGFjMTI5YzY=
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
rosemary CHANGELOG
|
2
|
+
===================================
|
3
|
+
This file is used to list changes made in each version.
|
4
|
+
|
5
|
+
|
6
|
+
v0.4.1 (2014 May 27)
|
7
|
+
------
|
8
|
+
|
9
|
+
* Fix: Return value of notes API call (thanks github.com/alexandrz)
|
10
|
+
|
11
|
+
v0.4.0 (2014 April 23)
|
12
|
+
------
|
13
|
+
|
14
|
+
* Add support for the notes API call. (thanks github.com/alexandrz)
|
15
|
+
|
16
|
+
v0.1.0
|
17
|
+
------
|
18
|
+
|
19
|
+
* First version
|
data/lib/rosemary/note.rb
CHANGED
@@ -8,12 +8,16 @@ module Rosemary
|
|
8
8
|
attr_accessor :lat
|
9
9
|
attr_accessor :lon
|
10
10
|
attr_accessor :text
|
11
|
+
attr_accessor :user
|
12
|
+
attr_accessor :action
|
11
13
|
|
12
14
|
def initialize(attrs = {})
|
13
15
|
attrs.stringify_keys!
|
14
16
|
@lat = attrs['lat']
|
15
17
|
@lon = attrs['lon']
|
16
18
|
@text = attrs['text'] || ''
|
19
|
+
@user = attrs['user']
|
20
|
+
@action = attrs['action'] || ''
|
17
21
|
end
|
18
22
|
|
19
23
|
end
|
data/lib/rosemary/parser.rb
CHANGED
@@ -43,23 +43,34 @@ class Rosemary::Parser < HTTParty::Parser
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def on_start_element(name, attr_hash) # :nodoc:
|
46
|
-
case name
|
47
|
-
when '
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
when '
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
46
|
+
case @context.class.name
|
47
|
+
when 'Rosemary::User'
|
48
|
+
case name
|
49
|
+
when 'description' then @description = true
|
50
|
+
when 'lang' then @lang = true
|
51
|
+
end
|
52
|
+
when 'Rosemary::Note'
|
53
|
+
case name
|
54
|
+
when 'id' then @id = true
|
55
|
+
when 'text' then @text = true
|
56
|
+
when 'user' then @user = true
|
57
|
+
when 'action' then @action = true
|
58
|
+
end
|
59
|
+
else
|
60
|
+
case name
|
61
|
+
when 'node' then _start_node(attr_hash)
|
62
|
+
when 'way' then _start_way(attr_hash)
|
63
|
+
when 'relation' then _start_relation(attr_hash)
|
64
|
+
when 'changeset' then _start_changeset(attr_hash)
|
65
|
+
when 'user' then _start_user(attr_hash)
|
66
|
+
when 'tag' then _tag(attr_hash)
|
67
|
+
when 'nd' then _nd(attr_hash)
|
68
|
+
when 'member' then _member(attr_hash)
|
69
|
+
when 'home' then _home(attr_hash)
|
70
|
+
when 'permissions' then _start_permissions(attr_hash)
|
71
|
+
when 'permission' then _start_permission(attr_hash)
|
72
|
+
when 'note' then _start_note(attr_hash)
|
73
|
+
end
|
63
74
|
end
|
64
75
|
end
|
65
76
|
|
@@ -69,26 +80,22 @@ class Rosemary::Parser < HTTParty::Parser
|
|
69
80
|
when 'lang' then @lang = false
|
70
81
|
when 'id' then @id = false
|
71
82
|
when 'text' then @text = false
|
83
|
+
when 'action' then @action = false
|
84
|
+
when 'user' then @user = false
|
72
85
|
when 'changeset' then _end_changeset
|
73
86
|
end
|
74
87
|
end
|
75
88
|
|
76
89
|
def on_characters(chars)
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
if @id
|
87
|
-
@context.id = chars
|
88
|
-
end
|
89
|
-
if @text
|
90
|
-
@context.text << chars
|
91
|
-
end
|
90
|
+
case @context.class.name
|
91
|
+
when 'Rosemary::User'
|
92
|
+
@context.description = chars if @description
|
93
|
+
@context.languages << chars if @lang
|
94
|
+
when 'Rosemary::Note'
|
95
|
+
@context.id = chars if @id
|
96
|
+
@context.text << chars if @text
|
97
|
+
@context.user = chars if @user
|
98
|
+
@context.action = chars if @action
|
92
99
|
end
|
93
100
|
end
|
94
101
|
|
data/lib/rosemary/version.rb
CHANGED
data/rosemary.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.date = Time.now
|
12
12
|
s.description = "OpenStreetMap API client for ruby"
|
13
13
|
s.email = ["info@christophbuente.de"]
|
14
|
-
s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README.md"]
|
14
|
+
s.extra_rdoc_files = ["CHANGELOG.md", "LICENSE", "README.md"]
|
15
15
|
s.homepage = "https://github.com/sozialhelden/rosemary"
|
16
16
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "OpenStreetMap", "--main", "README.md"]
|
17
17
|
s.require_paths = ["lib"]
|
@@ -11,16 +11,19 @@ describe Note do
|
|
11
11
|
def valid_fake_note
|
12
12
|
note=<<-EOF
|
13
13
|
<osm version="0.6" generator="OpenStreetMap server">
|
14
|
-
<note lon="
|
15
|
-
<id>
|
16
|
-
<url>http://
|
17
|
-
<comment_url>http://
|
18
|
-
<close_url>http://
|
19
|
-
<date_created>2014-
|
14
|
+
<note lon="102.2205" lat="2.1059">
|
15
|
+
<id>174576</id>
|
16
|
+
<url>http://www.openstreetmap.org/api/0.6/notes/174576</url>
|
17
|
+
<comment_url>http://www.openstreetmap.org/api/0.6/notes/174576/comment</comment_url>
|
18
|
+
<close_url>http://www.openstreetmap.org/api/0.6/notes/174576/close</close_url>
|
19
|
+
<date_created>2014-05-26 16:00:04 UTC</date_created>
|
20
20
|
<status>open</status>
|
21
21
|
<comments>
|
22
22
|
<comment>
|
23
|
-
<date>2014-
|
23
|
+
<date>2014-05-26 16:00:04 UTC</date>
|
24
|
+
<uid>2044077</uid>
|
25
|
+
<user>osmthis</user>
|
26
|
+
<user_url>http://www.openstreetmap.org/user/osmthis</user_url>
|
24
27
|
<action>opened</action>
|
25
28
|
<text>Test note</text>
|
26
29
|
<html><p>Test note</p></html>
|
@@ -40,7 +43,7 @@ describe Note do
|
|
40
43
|
describe '#create_note:' do
|
41
44
|
|
42
45
|
def request_url
|
43
|
-
"http://a_username:a_password@www.openstreetmap.org/api/0.6/notes?lat=
|
46
|
+
"http://a_username:a_password@www.openstreetmap.org/api/0.6/notes?lat=2.1059&lon=102.2205&text=Test%20note"
|
44
47
|
end
|
45
48
|
|
46
49
|
def stubbed_request
|
@@ -48,7 +51,7 @@ describe Note do
|
|
48
51
|
end
|
49
52
|
|
50
53
|
def valid_note
|
51
|
-
{lon:
|
54
|
+
{lon: 102.2205, lat: 2.1059, text: 'Test note'}
|
52
55
|
end
|
53
56
|
|
54
57
|
it "should create a new Note from given attributes" do
|
@@ -56,10 +59,12 @@ describe Note do
|
|
56
59
|
to_return(:status => 200, :body => valid_fake_note, :headers => {'Content-Type' => 'application/xml'})
|
57
60
|
|
58
61
|
new_note = osm.create_note(valid_note)
|
59
|
-
new_note.id.should eql '
|
60
|
-
new_note.lon.should eql '
|
61
|
-
new_note.lat.should eql '
|
62
|
+
new_note.id.should eql '174576'
|
63
|
+
new_note.lon.should eql '102.2205'
|
64
|
+
new_note.lat.should eql '2.1059'
|
62
65
|
new_note.text.should eql 'Test note'
|
66
|
+
new_note.user.should eql 'osmthis'
|
67
|
+
new_note.action.should eql 'opened'
|
63
68
|
end
|
64
69
|
end
|
65
70
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rosemary
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christoph Bünte, Enno Brehm
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -170,7 +170,7 @@ email:
|
|
170
170
|
executables: []
|
171
171
|
extensions: []
|
172
172
|
extra_rdoc_files:
|
173
|
-
- CHANGELOG
|
173
|
+
- CHANGELOG.md
|
174
174
|
- LICENSE
|
175
175
|
- README.md
|
176
176
|
files:
|
@@ -179,7 +179,7 @@ files:
|
|
179
179
|
- .ruby-version
|
180
180
|
- .rvmrc
|
181
181
|
- .travis.yml
|
182
|
-
- CHANGELOG
|
182
|
+
- CHANGELOG.md
|
183
183
|
- Gemfile
|
184
184
|
- LICENSE
|
185
185
|
- Manifest
|
data/CHANGELOG
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
v0.1. First version
|