class Zoho::People::API
Constants
- URL
Attributes
auth_token[R]
Public Class Methods
new(auth_token: ENV['ZOHO_PEOPLE_AUTH_TOKEN'])
click to toggle source
# File lib/zoho/people/api.rb, line 14 def initialize(auth_token: ENV['ZOHO_PEOPLE_AUTH_TOKEN']) raise 'You must provide Zoho People authentication token' unless auth_token @auth_token = auth_token end
Public Instance Methods
get_attendance_report(email:, from:, to:)
click to toggle source
# File lib/zoho/people/api.rb, line 32 def get_attendance_report(email:, from:, to:) params = { 'authtoken' => auth_token, 'dateFormat' => 'yyyy-MM-dd', 'emailId' => email, 'sdate' => from.strftime('%Y-%m-%d'), 'edate' => to.strftime('%Y-%m-%d') } data = request(:get, 'attendance/getUserReport', params: params) AttendanceReport.parse(data) end
post_attendance(attendance)
click to toggle source
# File lib/zoho/people/api.rb, line 20 def post_attendance(attendance) params = { 'authtoken' => auth_token, 'dateFormat' => 'dd/MM/yyyy HH:mm:ss', 'emailId' => attendance.email, 'checkIn' => attendance.check_in.strftime('%d/%m/%Y %H:%M:%S'), 'checkOut' => attendance.check_out.strftime('%d/%m/%Y %H:%M:%S') } request(:post, 'attendance', params: params) end
Private Instance Methods
request(method, endpoint, options)
click to toggle source
# File lib/zoho/people/api.rb, line 48 def request(method, endpoint, options) response = HTTP.method(method).call("#{URL}/#{endpoint}", options) if response.status.success? response.parse elsif response raise "Failed to #{method.to_s.upcase} #{endpoint}. Error: #{response.body}" else raise 'Failed to request Zoho API' end end