omniauth-osm 0.2.1 → 0.3.0

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.
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module Osm
3
- VERSION = "0.2.1"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
@@ -7,6 +7,7 @@ module OmniAuth
7
7
  option :name, "osm"
8
8
 
9
9
  option :client_options, :site => 'http://www.openstreetmap.org'
10
+ option :fetch_permissions, false
10
11
 
11
12
  uid { raw_info['id'] }
12
13
 
@@ -16,6 +17,8 @@ module OmniAuth
16
17
 
17
18
  def raw_info
18
19
  @raw_info ||= parse_info(access_token.get('/api/0.6/user/details').body)
20
+ @raw_info['permissions'] ||= parse_permissions(access_token.get('/api/0.6/permissions').body) if options[:fetch_permissions]
21
+ @raw_info
19
22
  rescue ::Errno::ETIMEDOUT
20
23
  raise ::Timeout::Error
21
24
  end
@@ -55,6 +58,12 @@ module OmniAuth
55
58
  basic_attributes['description'] = description.text if description
56
59
  basic_attributes
57
60
  end
61
+
62
+ def parse_permissions(xml_data)
63
+ # extract event information
64
+ doc = REXML::Document.new(xml_data)
65
+ doc.get_elements('//permission').map { |p| p.attribute('name').value }
66
+ end
58
67
  end
59
68
  end
60
69
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-osm
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 2
9
- - 1
10
- version: 0.2.1
8
+ - 3
9
+ - 0
10
+ version: 0.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - "Christoph B\xC3\xBCnte"
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-04-20 00:00:00 Z
18
+ date: 2012-05-09 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  version_requirements: &id001 !ruby/object:Gem::Requirement
@@ -28,10 +28,10 @@ dependencies:
28
28
  - 1
29
29
  - 0
30
30
  version: "1.0"
31
- name: omniauth-oauth
32
- type: :runtime
33
31
  prerelease: false
34
32
  requirement: *id001
33
+ type: :runtime
34
+ name: omniauth-oauth
35
35
  - !ruby/object:Gem::Dependency
36
36
  version_requirements: &id002 !ruby/object:Gem::Requirement
37
37
  none: false
@@ -43,10 +43,10 @@ dependencies:
43
43
  - 0
44
44
  - 9
45
45
  version: "0.9"
46
- name: rake
47
- type: :development
48
46
  prerelease: false
49
47
  requirement: *id002
48
+ type: :development
49
+ name: rake
50
50
  - !ruby/object:Gem::Dependency
51
51
  version_requirements: &id003 !ruby/object:Gem::Requirement
52
52
  none: false
@@ -58,10 +58,10 @@ dependencies:
58
58
  - 2
59
59
  - 7
60
60
  version: "2.7"
61
- name: rspec
62
- type: :development
63
61
  prerelease: false
64
62
  requirement: *id003
63
+ type: :development
64
+ name: rspec
65
65
  - !ruby/object:Gem::Dependency
66
66
  version_requirements: &id004 !ruby/object:Gem::Requirement
67
67
  none: false
@@ -73,10 +73,10 @@ dependencies:
73
73
  - 0
74
74
  - 5
75
75
  version: "0.5"
76
- name: simplecov
77
- type: :development
78
76
  prerelease: false
79
77
  requirement: *id004
78
+ type: :development
79
+ name: simplecov
80
80
  - !ruby/object:Gem::Dependency
81
81
  version_requirements: &id005 !ruby/object:Gem::Requirement
82
82
  none: false
@@ -88,10 +88,10 @@ dependencies:
88
88
  - 1
89
89
  - 7
90
90
  version: "1.7"
91
- name: webmock
92
- type: :development
93
91
  prerelease: false
94
92
  requirement: *id005
93
+ type: :development
94
+ name: webmock
95
95
  description: OpenStreetMap strategy for OmniAuth 1.0a
96
96
  email: christoph@sozialhelden.de
97
97
  executables: []
@@ -146,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
146
  requirements: []
147
147
 
148
148
  rubyforge_project: omniauth-osm
149
- rubygems_version: 1.8.22
149
+ rubygems_version: 1.8.15
150
150
  signing_key:
151
151
  specification_version: 3
152
152
  summary: OpenStreetMap strategy for OmniAuth 1.0a