Module: Freee::Util
Constant Summary collapse
- @@client =
nil
Class Method Summary collapse
- .create_client(**kwarg) ⇒ Object
- .create_params(**kwarg) ⇒ Object
- .create_token(**kwarg) ⇒ Object
- .refresh_token(**kwarg) ⇒ Object
Class Method Details
.create_client(**kwarg) ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/freee/util.rb', line 21 def self.create_client(**kwarg) @@client = OAuth2::Client.new(kwarg[:client_id], kwarg[:secret_key], OPTIONS) do |con| con.request :url_encoded con.request :json con.response :json, content_type: /\bjson$/ con.adapter Faraday.default_adapter end end |
.create_params(**kwarg) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/freee/util.rb', line 6 def self.create_params(**kwarg) { grant_type: 'authorization_code', code: kwarg[:authorization_code], redirect_uri: kwarg[:redirect_uri], headers: { 'Content-Type' => 'application/json', 'Authorization' => HTTPAuth::Basic.( kwarg[:client_id], kwarg[:secret_key] ) } } end |
.create_token(**kwarg) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/freee/util.rb', line 30 def self.create_token(**kwarg) self.create_client(kwarg) if @@client.nil? get_token = @@client.get_token(create_params(kwarg)) { token: get_token.token, refresh_token: get_token.refresh_token } end |
.refresh_token(**kwarg) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/freee/util.rb', line 39 def self.refresh_token(**kwarg) self.create_client(kwarg) if @@client.nil? get_token = OAuth2::AccessToken.from_hash( @@client, refresh_token: kwarg[:refresh_token] ).refresh! { token: get_token.token, refresh_token: get_token.refresh_token } end |