omniauth-osm 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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