freee 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f0f431d4378016a7d762e5301e899e4505c9d57e
4
- data.tar.gz: 66f35e5fcba0d1c25a03cf4325d57a5bf0f7128d
3
+ metadata.gz: d1c589c590102035d3d89a4a526279973333251c
4
+ data.tar.gz: d47aa633efefa7fd6432efdcde48c6d6f11b4a8f
5
5
  SHA512:
6
- metadata.gz: 8304df633374b1b5ca54ff138dc0bfca9c9ba0446a89e26bc908987760ce95f2970e8c8abba2b70617d251343cc4e8f6dece621ac058eb7cf2f32cf816db2607
7
- data.tar.gz: 936110616afb886ab6f28cb3e42c832d96d4dc0acc3c8ddabbbe555756a23e28f04d35a840f47a99efec5d2ab374e7dd9677cfc665671c1699786b79d0d7ac74
6
+ metadata.gz: 3f43e6a967186c45ad4bcd7015a430628551e211c44d67600a6c597ab81be8695fa5e1a03d1a554dffb109003f8cd5d9c76bbb6ccebe39f9e2740de29544bb6e
7
+ data.tar.gz: 0ae697091e7b4ce21c0198285a1da78665f70ad5e3596809bc1e9d12fdd6fd3dbaa5ebcf78bc50daa2a84f337db788c8740c16800a0f9564b4e68c08ab430f80
data/bin/freee CHANGED
@@ -8,18 +8,36 @@ module Freee
8
8
  include Thor::Actions
9
9
 
10
10
  desc "token", "Get access token of application for the freee."
11
- def token
12
- client_id = ask("Client ID\n")
13
- secret_key = ask("Secret Key\n")
14
- redirect_uri = ask("Redirect URI\n")
15
- authorization_code = ask("Authorization code\n")
11
+ option :client_id, required: true
12
+ option :secret_key, required: true
13
+ option :redirect_uri, required: true
14
+ option :authorization_code
15
+ option :refresh_token
16
+ def token
17
+ client_id = options[:client_id]
18
+ secret_key = options[:secret_key]
19
+ redirect_uri = options[:redirect_uri]
20
+ authorization_code = options[:authorization_code]
21
+ refresh_token = options[:refresh_token]
16
22
 
17
- puts 'Token: ' + Freee::Util.create_token(
18
- client_id: client_id,
19
- secret_key: secret_key,
20
- redirect_uri: redirect_uri,
21
- authorization_code: authorization_code
22
- )
23
+ token = if refresh_token
24
+ Freee::Util.refresh_token(
25
+ client_id: client_id,
26
+ secret_key: secret_key,
27
+ redirect_uri: redirect_uri,
28
+ refresh_token: refresh_token
29
+ )
30
+ elsif authorization_code
31
+ Freee::Util.create_token(
32
+ client_id: client_id,
33
+ secret_key: secret_key,
34
+ redirect_uri: redirect_uri,
35
+ authorization_code: authorization_code
36
+ )
37
+ end
38
+
39
+ puts "Token: #{token[:token]}"
40
+ puts "RefreshToken: #{token[:refresh_token]}"
23
41
  end
24
42
  end
25
43
  end
@@ -1,30 +1,51 @@
1
1
  module Freee
2
2
  module Util
3
- def self.create_token(**kwarg)
4
3
 
5
- client_id = kwarg[:client_id]
6
- secret_key = kwarg[:secret_key]
7
- client = OAuth2::Client.new(client_id, secret_key, OPTIONS) do |con|
8
- con.request :url_encoded
9
- con.request :json
10
- con.response :json, content_type: /\bjson$/
11
- con.adapter Faraday.default_adapter
12
- end
4
+ @@client = nil
13
5
 
14
- params = {
6
+ def self.create_params(**kwarg)
7
+ {
15
8
  grant_type: 'authorization_code',
16
9
  code: kwarg[:authorization_code],
17
10
  redirect_uri: kwarg[:redirect_uri],
18
11
  headers: {
19
12
  'Content-Type' => 'application/json',
20
13
  'Authorization' => HTTPAuth::Basic.pack_authorization(
21
- client_id,
22
- secret_key
14
+ kwarg[:client_id],
15
+ kwarg[:secret_key]
23
16
  )
24
17
  }
25
18
  }
19
+ end
20
+
21
+ def self.create_client(**kwarg)
22
+ @@client = OAuth2::Client.new(kwarg[:client_id], kwarg[:secret_key], OPTIONS) do |con|
23
+ con.request :url_encoded
24
+ con.request :json
25
+ con.response :json, content_type: /\bjson$/
26
+ con.adapter Faraday.default_adapter
27
+ end
28
+ end
29
+
30
+ def self.create_token(**kwarg)
31
+ self.create_client(kwarg) if @@client.nil?
32
+ get_token = @@client.get_token(create_params(kwarg))
33
+ {
34
+ token: get_token.token,
35
+ refresh_token: get_token.refresh_token
36
+ }
37
+ end
26
38
 
27
- client.get_token(params).token
39
+ def self.refresh_token(**kwarg)
40
+ self.create_client(kwarg) if @@client.nil?
41
+ get_token = OAuth2::AccessToken.from_hash(
42
+ @@client,
43
+ refresh_token: kwarg[:refresh_token]
44
+ ).refresh!
45
+ {
46
+ token: get_token.token,
47
+ refresh_token: get_token.refresh_token
48
+ }
28
49
  end
29
50
 
30
51
  extend self
@@ -1,3 +1,3 @@
1
1
  module Freee
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: freee
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keiji Matsuzaki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-29 00:00:00.000000000 Z
11
+ date: 2014-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oauth2