rescue_time_client 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.
- checksums.yaml +7 -0
- data/lib/rescue_time_client.rb +53 -0
- metadata +58 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 021391625128f0d21750ee758cbe08e74373fd4e
|
4
|
+
data.tar.gz: 62c9287218ccaf985f4a5c28e6554217734a1939
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8d3a8b2011c165d9f1614a96b2c0a91d89f310ea5e5207e9a5475087a8161e3dde970d60fe156e6ac8678ed6f1ba13f76565c2e7bf95ded9aabd7414a30bf3c9
|
7
|
+
data.tar.gz: 87651fba6bb55fa555e930b439998d0726fedca5335638fd0e981efecdd2f419a50b00bec3031188f4606dc227585938b6245602d334b522ac7a1f927bcf21b2
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'auth/oauth'
|
2
|
+
require 'response.rb'
|
3
|
+
|
4
|
+
module RescueTime
|
5
|
+
API_ENDPOINT = "https://www.rescuetime.com"
|
6
|
+
DEFAULT_SCOPE = ["time_data"]
|
7
|
+
|
8
|
+
class Client
|
9
|
+
def initialize(client_id, client_secret, redirect_uri)
|
10
|
+
@oauth_client = Auth.getClient(client_id, client_secret)
|
11
|
+
@redirect_uri = redirect_uri
|
12
|
+
end
|
13
|
+
|
14
|
+
def get_auth_url(scopes = [])
|
15
|
+
scopes = DEFAULT_SCOPE if scopes.empty?
|
16
|
+
required_scopes = scopes.join(' ')
|
17
|
+
@oauth_client.auth_code.authorize_url(redirect_uri: @redirect_uri,
|
18
|
+
scope: required_scopes)
|
19
|
+
end
|
20
|
+
|
21
|
+
def set_token(token)
|
22
|
+
@token = Auth.constructToken(@oauth_client, token)
|
23
|
+
end
|
24
|
+
|
25
|
+
def get_token_from_code(code)
|
26
|
+
@token = @oauth_client.auth_code.get_token(code,
|
27
|
+
redirect_uri: @redirect_uri,
|
28
|
+
headers: {'Authorization' => 'Basic some_password'}
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
#sexy
|
34
|
+
def method_missing(method_sym, *arguments, &block)
|
35
|
+
if method_sym.to_s =~ /^fetch_(.*)$/
|
36
|
+
api_endpoint = "/api/oauth/#{$1}"
|
37
|
+
params = arguments[0] || {}
|
38
|
+
puts "Fetching #{api_endpoint} with params #{params}}"
|
39
|
+
resp = @token.get(api_endpoint, params.merge(default_params))
|
40
|
+
Response.process(resp)
|
41
|
+
else
|
42
|
+
super
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def default_params
|
49
|
+
{format: 'json'}
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
metadata
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rescue_time_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Devaroop Bhattacharya
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-04-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: oauth2
|
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: Simple gem to help integrate with RescueTime
|
28
|
+
email: devaroop@yahoo.co.in
|
29
|
+
executables: []
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- lib/rescue_time_client.rb
|
34
|
+
homepage: http://rubygems.org/gems/rescue_time_client
|
35
|
+
licenses:
|
36
|
+
- MIT
|
37
|
+
metadata: {}
|
38
|
+
post_install_message:
|
39
|
+
rdoc_options: []
|
40
|
+
require_paths:
|
41
|
+
- lib
|
42
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: '0'
|
52
|
+
requirements: []
|
53
|
+
rubyforge_project:
|
54
|
+
rubygems_version: 2.2.2
|
55
|
+
signing_key:
|
56
|
+
specification_version: 4
|
57
|
+
summary: An oAuth and API client for RescueTime
|
58
|
+
test_files: []
|