class Freee::Pigmon::APIClient
Constants
- HR_API_URL
Attributes
access_token[RW]
Public Class Methods
new(access_token)
click to toggle source
# File lib/freee/pigmon/api_client.rb, line 10 def initialize(access_token) self.access_token = access_token end
Public Instance Methods
api_client()
click to toggle source
# File lib/freee/pigmon/api_client.rb, line 66 def api_client client = Faraday.new(url: HR_API_URL) do |faraday| faraday.request :json faraday.response :json, content_type: /\bjson$/ faraday.adapter Faraday.default_adapter end client.authorization :Bearer, access_token client end
check_available_time_clock_types(employee_id, company_id)
click to toggle source
# File lib/freee/pigmon/api_client.rb, line 26 def check_available_time_clock_types(employee_id, company_id) path = "/hr/api/v1/employees/#{employee_id}/time_clocks/available_types" params = { company_id: company_id } response = request_api(path, :get, params) response.body['available_types'] end
fetch_user_info_hash()
click to toggle source
# File lib/freee/pigmon/api_client.rb, line 14 def fetch_user_info_hash response = request_api('/hr/api/v1/users/me', :get, nil) company_info_hash = response.body['companies'].first company_id = company_info_hash['id'] employee_id = company_info_hash['employee_id'] { company_id: company_id, employee_id: employee_id } end
get_time_clocks(employee_id, company_id, from_date: nil, to_date: nil, per: nil, page: nil)
click to toggle source
# File lib/freee/pigmon/api_client.rb, line 40 def get_time_clocks(employee_id, company_id, from_date: nil, to_date: nil, per: nil, page: nil) path = "/hr/api/v1/employees/#{employee_id}/time_clocks" params = { company_id: company_id, from_date: from_date, to_date: to_date, per: per, page: page, } response = request_api(path, :get, params) response end
post_time_clock(employee_id, company_id, type)
click to toggle source
# File lib/freee/pigmon/api_client.rb, line 33 def post_time_clock(employee_id, company_id, type) path = "/hr/api/v1/employees/#{employee_id}/time_clocks" params = { company_id: company_id, type: type } response = request_api(path, :post, params) response end
request_api(path, method, params)
click to toggle source
# File lib/freee/pigmon/api_client.rb, line 53 def request_api(path, method, params) client = api_client response = client.send(method) do |req| req.url path req.body = params.to_json unless params.nil? end case response.status when 401 raise 'Unauthorized' end response end