Class: Ashby::HiringTeams
Overview
Ashby::HiringTeams provides access to hiring team management functionality in the Ashby API.
Includes support for:
- Adding a member to a hiring team
- Removing a member from a hiring team
Example usage:
Ashby::HiringTeams.add_hiring_team_member(type: :job, id: 'job_123', member_id: 'user_456', role_id: 'role_789')
Ashby::HiringTeams.remove_hiring_team_member(type: :application, id: 'app_123', member_id: 'user_456',
role_id: 'role_789')
Constant Summary
Constants inherited from Client
Class Method Summary collapse
- .add_hiring_team_member(type, id, member_id, role_id) ⇒ Object
-
.build_hiring_team_payload(type, id, member_id, role_id) ⇒ Object
rubocop:disable Metrics/MethodLength.
- .remove_hiring_team_member(type, id, member_id, role_id) ⇒ Object
Methods inherited from Client
build_url, headers, paginated_post, post
Class Method Details
.add_hiring_team_member(type, id, member_id, role_id) ⇒ Object
22 23 24 25 26 |
# File 'lib/ashby/hiring_teams.rb', line 22 def self.add_hiring_team_member(type, id, member_id, role_id) payload = build_hiring_team_payload(type, id, member_id, role_id) response = post('hiringTeam.addMember', payload) response['results'] end |
.build_hiring_team_payload(type, id, member_id, role_id) ⇒ Object
rubocop:disable Metrics/MethodLength
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/ashby/hiring_teams.rb', line 28 def self.build_hiring_team_payload(type, id, member_id, role_id) # rubocop:disable Metrics/MethodLength payload = {} case type when :job payload[:jobId] = id.to_s if id when :application payload[:applicationId] = id.to_s when :opening payload[:openingId] = id.to_s else raise ArgumentError, "Invalid type: #{type}. Must be one of :job, :application, or :opening." end payload[:teamMemberId] = member_id if member_id payload[:roleId] = role_id if role_id payload end |
.remove_hiring_team_member(type, id, member_id, role_id) ⇒ Object
16 17 18 19 20 |
# File 'lib/ashby/hiring_teams.rb', line 16 def self.remove_hiring_team_member(type, id, member_id, role_id) payload = build_hiring_team_payload(type, id, member_id, role_id) response = post('hiringTeam.removeMember', payload) response['results'] end |