freee 0.3.0 → 0.3.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 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