gahh 0.0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a4c9880350355318938dedd4e066156f5e6d8649
4
+ data.tar.gz: 9c6bec92a9c6ba2a2c216948d8b674ad018d4881
5
+ SHA512:
6
+ metadata.gz: 3a9cff85cee37d2084f2c5b1b0654ba89002cedf28418ad6430f14d667a7c51ea233dc3660ef37e2f80a617200307c757b0129cbb5f0c3a4c06b7aba25e03479
7
+ data.tar.gz: f2b2aa96a90e6e0f7a9c4074b0943665e5cff6c4b25cc7db54b29ccee151f300ad2391440754e4eebe667ee5f6826ec5121863bdf19ef43a8d909e4f840fa0ac
@@ -0,0 +1,10 @@
1
+ module Gahh
2
+
3
+ def self.test_with_puts_word(word)
4
+ puts "testing with #{word}"
5
+ end
6
+
7
+ end
8
+
9
+ require 'gahh/handler'
10
+ require 'gahh/api_scope_parser'
@@ -0,0 +1,15 @@
1
+ module Gahh
2
+
3
+ module ApiScopeParser
4
+
5
+ def self.testing_method(word)
6
+ puts "testing with #{word}"
7
+ end
8
+
9
+ def self.convert_api_scope_to_uri(api_scope)
10
+ return "https://www.googleapis.com/auth/#{api_scope[:api]}.readonly" if api_scope[:scope] == "read"
11
+ end
12
+
13
+ end
14
+
15
+ end
@@ -0,0 +1,40 @@
1
+ class Gahh::Handler
2
+
3
+ def self.testing_def(param)
4
+ puts "testing with parameter #{param}"
5
+ end
6
+
7
+ def initialize(options)
8
+ @client_id = options[:client_id]
9
+ @client_secret = options[:client_secret]
10
+ @redirect_uri = options[:redirect_uri]
11
+ end
12
+
13
+ def retrieve_auth(scopes)
14
+ # options expecting scopes organized in hash with api and expectation
15
+ # ie {"analytics" => "read"}
16
+
17
+ scope = Gah::ApiScopeParser::convert_api_scope_to_uri(scopes)
18
+
19
+ client = Signet::OAuth2::Client.new(
20
+ :authorization_uri => 'https://accounts.google.com/o/oauth2/auth',
21
+ :token_endpoint_uri => 'https://accounts.google.com/o/oauth2/token',
22
+ :client_id => @client_id,
23
+ :client_secret => @client_secret,
24
+ :scope => scope,
25
+ :redirect_uri => @redirect_uri
26
+ )
27
+ return client.authorization_uri.to_s
28
+ end
29
+
30
+ def request_access_token(auth_code)
31
+ http = Net::HTTP.new('accounts.google.com', 443)
32
+ path = '/o/oauth2/token'
33
+ http.use_ssl = true
34
+ data = "code=#{auth_code}&client_id=#{@client_id}&client_secret=#{@client_secret}&redirect_uri=#{@redirect_uri}&grant_type=authorization_code"
35
+ response = http.post(path, data)
36
+ values = JSON.parse(response.body)
37
+ binding.pry
38
+ end
39
+
40
+ end
metadata ADDED
@@ -0,0 +1,61 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gahh
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Yaniv Savir
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: signet
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: A tool to better use and interact with Google API, including offline
28
+ access
29
+ email: saviry@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - lib/gahh.rb
35
+ - lib/gahh/handler.rb
36
+ - lib/gahh/api_scope_parser.rb
37
+ homepage: http://rubygems.org/gems/gahh
38
+ licenses:
39
+ - MIT
40
+ metadata: {}
41
+ post_install_message:
42
+ rdoc_options: []
43
+ require_paths:
44
+ - lib
45
+ required_ruby_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ required_rubygems_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ requirements: []
56
+ rubyforge_project:
57
+ rubygems_version: 2.1.11
58
+ signing_key:
59
+ specification_version: 4
60
+ summary: Google API Help and Handling
61
+ test_files: []