smartrecruiters 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 880173b6afc67da655803a5f93d354e1f1ef10d9d726b5b5942a48f73f0eb87d
4
- data.tar.gz: d3b4f7b200d70db0481a2e414d21c01520178a4701dfa8c3186bb157e5f406eb
3
+ metadata.gz: d7c7ea65e6b64c29e219384b097e691e545b5e43c62ee2b93b1c0532b454363a
4
+ data.tar.gz: b02ebdd8957fba28c18915c8539101f7e9d508c4d1664f133e60cfc8687097f5
5
5
  SHA512:
6
- metadata.gz: 7eb8a0275d2e6f9070ad8314d85d319de9746485b2358353e1ba158d0a88677c1f9cc4efa03eb9a0fa1e09af4109427184d4c5899f1729a6a0c44dc95a34204f
7
- data.tar.gz: d25bd9697ce20cb2496a1cf34df9015bc874e7acdd1174c666fb50f299a78d319edc871a59257fe6bedf0f2f74e41295edded4caffd9ac460a57335cf736b9a1
6
+ metadata.gz: 1cf79cd820e91342100b5521f9565bf83db1250d059551ed46e7f71712b8af2c5ace6515c79218971f53cb51bbfda35522806fa21d40267ba9d620a4fac719fb
7
+ data.tar.gz: 2efc9ee7e6a1e2b054b1d27a204bbd229c5c93d4ac4a169064e430df2e36223775b84bee6afe4ae6ff796d19f20e40f4982602cec1500128b9ef81779e6dac84
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.3.0](https://www.github.com/davejcameron/smartrecruiters/compare/v0.2.2...v0.3.0) (2021-10-30)
4
+
5
+
6
+ ### Features
7
+
8
+ * Add support for postings ([#18](https://www.github.com/davejcameron/smartrecruiters/issues/18)) ([7204cd8](https://www.github.com/davejcameron/smartrecruiters/commit/7204cd82fc681eb737f369d7391b9639df4808a0))
9
+
3
10
  ### [0.2.2](https://www.github.com/davejcameron/smartrecruiters/compare/v0.2.1...v0.2.2) (2021-10-17)
4
11
 
5
12
 
data/README.md CHANGED
@@ -90,6 +90,17 @@ client.offers.retrieve(offer_id: "id", candidate_id: "id", job_id: "id")
90
90
  client.offers.retrieve_offers(candidate_id: "id", job_id: "id")
91
91
  ```
92
92
 
93
+ ### Postings
94
+
95
+ ```ruby
96
+ client.postings.list(company_id:)
97
+ client.postings.list_departments(company_id:)
98
+ client.postings.retrieve(company_id:, posting_id:)
99
+ client.postings.create_candidate(posting_id:, {})
100
+ client.postings.retrieve_candidate_status(posting_id:, candidate_id:)
101
+ client.postings.retrieve_configuration(posting_id:)
102
+ ```
103
+
93
104
  ### Reports
94
105
 
95
106
  ```ruby
@@ -53,6 +53,10 @@ module SmartRecruiters
53
53
  OffersResource.new(self)
54
54
  end
55
55
 
56
+ def postings
57
+ PostingsResource.new(self)
58
+ end
59
+
56
60
  def reports
57
61
  ReportsResource.new(self)
58
62
  end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SmartRecruiters
4
+ class Department < Object
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SmartRecruiters
4
+ class Posting < Object
5
+ end
6
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SmartRecruiters
4
+ class PostingsResource < Resource
5
+ COMPANY_API = 'v1/companies'
6
+
7
+ def list(company_id:, **params)
8
+ response = get_request("#{COMPANY_API}/#{company_id}/postings", params: params)
9
+ Collection.from_response(response, type: Posting)
10
+ end
11
+
12
+ def list_departments(company_id:, **params)
13
+ response = get_request("#{COMPANY_API}/#{company_id}/departments", params: params)
14
+ Collection.from_response(response, type: Department)
15
+ end
16
+
17
+ def retrieve_posting(company_id:, posting_id:, **params)
18
+ Posting.new get_request("#{COMPANY_API}/#{company_id}/postings/#{posting_id}", params: params).body
19
+ end
20
+
21
+ def create_candidate(posting_id:, **attributes)
22
+ Object.new post_request("postings/#{posting_id}/candidates", body: attributes).body
23
+ end
24
+
25
+ def retrieve_candidate_status(posting_id:, candidate_id:)
26
+ Object.new get_request("postings/#{posting_id}/candidates/#{candidate_id}/status").body
27
+ end
28
+
29
+ def retrieve_configuration(posting_id:)
30
+ Object.new get_request("postings/#{posting_id}/configuration").body
31
+ end
32
+ end
33
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SmartRecruiters
4
- VERSION = '0.2.2'
4
+ VERSION = '0.3.0'
5
5
  end
@@ -13,25 +13,28 @@ module SmartRecruiters
13
13
  autoload :Attachment, 'smartrecruiters/objects/attachment'
14
14
  autoload :CallbacksLog, 'smartrecruiters/objects/callbacks_log'
15
15
  autoload :Candidate, 'smartrecruiters/objects/candidate'
16
+ autoload :Department, 'smartrecruiters/objects/department'
16
17
  autoload :Interview, 'smartrecruiters/objects/interview'
17
18
  autoload :Job, 'smartrecruiters/objects/job'
18
19
  autoload :Offer, 'smartrecruiters/objects/offer'
19
- autoload :User, 'smartrecruiters/objects/user'
20
+ autoload :Posting, 'smartrecruiters/objects/posting'
20
21
  autoload :Report, 'smartrecruiters/objects/report'
21
22
  autoload :ReportFile, 'smartrecruiters/objects/report_file'
22
23
  autoload :Review, 'smartrecruiters/objects/review'
23
24
  autoload :SystemRole, 'smartrecruiters/objects/system_role'
25
+ autoload :User, 'smartrecruiters/objects/user'
24
26
  autoload :Webhook, 'smartrecruiters/objects/webhook'
25
27
 
26
28
  autoload :AccessGroupsResource, 'smartrecruiters/resources/access_groups'
27
29
  autoload :CandidatesResource, 'smartrecruiters/resources/candidates'
28
30
  autoload :InterviewsResource, 'smartrecruiters/resources/interviews'
29
31
  autoload :InterviewTypesResource, 'smartrecruiters/resources/interview_types'
30
- autoload :OffersResource, 'smartrecruiters/resources/offers'
31
32
  autoload :JobsResource, 'smartrecruiters/resources/jobs'
32
- autoload :UsersResource, 'smartrecruiters/resources/users'
33
+ autoload :OffersResource, 'smartrecruiters/resources/offers'
34
+ autoload :PostingsResource, 'smartrecruiters/resources/postings'
33
35
  autoload :ReportsResource, 'smartrecruiters/resources/reports'
34
36
  autoload :ReviewsResource, 'smartrecruiters/resources/reviews'
35
37
  autoload :SystemRolesResource, 'smartrecruiters/resources/system_roles'
38
+ autoload :UsersResource, 'smartrecruiters/resources/users'
36
39
  autoload :WebhooksResource, 'smartrecruiters/resources/webhooks'
37
40
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartrecruiters
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cameron
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-17 00:00:00.000000000 Z
11
+ date: 2021-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,9 +108,11 @@ files:
108
108
  - lib/smartrecruiters/objects/attachment.rb
109
109
  - lib/smartrecruiters/objects/callbacks_log.rb
110
110
  - lib/smartrecruiters/objects/candidate.rb
111
+ - lib/smartrecruiters/objects/department.rb
111
112
  - lib/smartrecruiters/objects/interview.rb
112
113
  - lib/smartrecruiters/objects/job.rb
113
114
  - lib/smartrecruiters/objects/offer.rb
115
+ - lib/smartrecruiters/objects/posting.rb
114
116
  - lib/smartrecruiters/objects/report.rb
115
117
  - lib/smartrecruiters/objects/report_file.rb
116
118
  - lib/smartrecruiters/objects/review.rb
@@ -124,6 +126,7 @@ files:
124
126
  - lib/smartrecruiters/resources/interviews.rb
125
127
  - lib/smartrecruiters/resources/jobs.rb
126
128
  - lib/smartrecruiters/resources/offers.rb
129
+ - lib/smartrecruiters/resources/postings.rb
127
130
  - lib/smartrecruiters/resources/reports.rb
128
131
  - lib/smartrecruiters/resources/reviews.rb
129
132
  - lib/smartrecruiters/resources/system_roles.rb