class Wework::Api::Base
Attributes
corp_id[RW]
options[RW]
secret[RW]
Public Class Methods
new(options={})
click to toggle source
# File lib/wework/api/base.rb, line 16 def initialize options={} @corp_id = options.delete(:corp_id) @secret = options.delete(:secret) @token_store = options.delete(:token_store) @options = options end
Public Instance Methods
access_token()
click to toggle source
# File lib/wework/api/base.rb, line 55 def access_token token_store.token end
get(path, headers = {})
click to toggle source
# File lib/wework/api/base.rb, line 37 def get(path, headers = {}) with_token(headers[:params]) do |params| request.get path, headers.merge(params: params) end end
post(path, payload, headers = {})
click to toggle source
# File lib/wework/api/base.rb, line 43 def post(path, payload, headers = {}) with_token(headers[:params]) do |params| request.post path, payload, headers.merge(params: params) end end
post_file(path, file, headers = {})
click to toggle source
# File lib/wework/api/base.rb, line 49 def post_file(path, file, headers = {}) with_token(headers[:params]) do |params| request.post_file path, file, headers.merge(params: params) end end
request()
click to toggle source
# File lib/wework/api/base.rb, line 23 def request @request ||= Wework::Request.new(API_ENDPOINT, false) end
valid?()
click to toggle source
# File lib/wework/api/base.rb, line 27 def valid? return false if corp_id.nil? token_store.token.present? rescue AccessTokenExpiredError false rescue => e Rails.logger.error "[WEWORK] (valid?) fetch access token error(#{corp_id}): #{e.inspect}" if defined?(Rails) false end
Private Instance Methods
token_params()
click to toggle source
# File lib/wework/api/base.rb, line 73 def token_params {access_token: access_token} end
token_store()
click to toggle source
# File lib/wework/api/base.rb, line 69 def token_store @token_store ||= Token::AppToken.new self end
with_token(params = {}, tries = 2) { |merge| ... }
click to toggle source
# File lib/wework/api/base.rb, line 61 def with_token(params = {}, tries = 2) params ||= {} yield(params.merge(token_params)) rescue AccessTokenExpiredError token_store.update_token retry unless (tries -= 1).zero? end