checkr-official 1.6 → 1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Changelog.md +8 -1
- data/RELEASE.md +20 -0
- data/bin/release +18 -0
- data/lib/checkr.rb +3 -0
- data/lib/checkr/adverse_action.rb +23 -0
- data/lib/checkr/adverse_item.rb +9 -0
- data/lib/checkr/adverse_item_list.rb +24 -0
- data/lib/checkr/report.rb +3 -0
- data/lib/checkr/version.rb +1 -1
- data/test/checkr/adverse_action_test.rb +91 -0
- data/test/checkr/adverse_item_test.rb +49 -0
- data/test/test_data.rb +42 -0
- metadata +13 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 419e5c8590cb5750264886e813b59c9ff657822c
|
4
|
+
data.tar.gz: 39e5119e18ee5fae44a5860e6a1047478fd02107
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de81030f52a846f734c189af6e67b158345fc9e868e0e57e47b25feeb0e5972e268062048723790a73edddb3d139fff80428a892e9aa1a10e21f33ac70bc53fa
|
7
|
+
data.tar.gz: 48c1a067f7eb082670ff9d4ffcf036bc35c1f61bab9103b2a5b96c056f862ad6fbd6ed116af0f718644ad87d9f124460bcef098a06fa00db5aed5197300323e8
|
data/Changelog.md
CHANGED
data/RELEASE.md
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# Releasing a new version of checkr-official
|
2
|
+
|
3
|
+
## Release process
|
4
|
+
|
5
|
+
1. Create a list of all the changes since the prior release
|
6
|
+
1. Compare the latest release to master using
|
7
|
+
https://github.com/checkr/checkr-ruby/compare/`${latest}`...master
|
8
|
+
1. Open the linked pull requests from all the `Merge pull request #...` commits
|
9
|
+
1. For all non-documentation PRs, copy title (including pull request number)
|
10
|
+
into markdown list items
|
11
|
+
1. Sort into logical buckets, like "New", "Improvement", "Fix"
|
12
|
+
1. Reorganize to put the pull request number at the end of the line with author in parenthesis
|
13
|
+
1. Ensure there are no breaking changes, or if there are breaking changes you'll need to bump
|
14
|
+
the major version, following [SemVer](https://semver.org/)
|
15
|
+
1. Update the version
|
16
|
+
1. Update the constant in `lib/checkr/version.rb`
|
17
|
+
1. Commit and push to your branch
|
18
|
+
1. Get it reviewed and merge to master
|
19
|
+
1. Move to master branch and pull last version
|
20
|
+
1. Run the `bin/release` script to cut a release
|
data/bin/release
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
# Usage: bin/release
|
3
|
+
# Build the gem, tag master, push it to origin, and then release the package on RubyGems.
|
4
|
+
|
5
|
+
set -e
|
6
|
+
|
7
|
+
branch="$(git rev-parse --abbrev-ref HEAD)"
|
8
|
+
[ "$branch" = "master" ] ||
|
9
|
+
(echo "You are not on master. First push your branch, get your PR reviewed, merge it on Github. "\
|
10
|
+
"Then locally move to master and pull last changes." && exit 1)
|
11
|
+
|
12
|
+
version="$(gem build *.gemspec | grep Version: | awk '{print $2}')"
|
13
|
+
[ -n "$version" ] || (echo "Version needs to be a number" && exit 1)
|
14
|
+
|
15
|
+
echo $version
|
16
|
+
git tag "v$version"
|
17
|
+
git push origin "v$version"
|
18
|
+
gem push *-${version}.gem
|
data/lib/checkr.rb
CHANGED
@@ -18,6 +18,9 @@ require 'checkr/api_list'
|
|
18
18
|
require 'checkr/util'
|
19
19
|
|
20
20
|
# Requires for classes
|
21
|
+
require 'checkr/adverse_action'
|
22
|
+
require 'checkr/adverse_item'
|
23
|
+
require 'checkr/adverse_item_list'
|
21
24
|
require 'checkr/candidate'
|
22
25
|
require 'checkr/county_criminal_search'
|
23
26
|
require 'checkr/document'
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Checkr
|
2
|
+
class AdverseAction < APIResource
|
3
|
+
attribute :status
|
4
|
+
attribute :report_id
|
5
|
+
attribute :post_notice_scheduled_at
|
6
|
+
attribute :post_notice_ready_at
|
7
|
+
attribute :canceled_at
|
8
|
+
attribute :individualized_assessment_engaged
|
9
|
+
attribute :adverse_items, APIList.constructor(:AdverseItem)
|
10
|
+
|
11
|
+
api_class_method :create, :post, '/v1/reports/:report_id/adverse_actions'
|
12
|
+
api_class_method :retrieve, :get, ':path/:id', :arguments => [:id]
|
13
|
+
api_class_method :cancel, :delete, ':path/:id', :arguments => [:id]
|
14
|
+
|
15
|
+
api_instance_method :cancel, :delete
|
16
|
+
|
17
|
+
def self.path
|
18
|
+
'/v1/adverse_actions'
|
19
|
+
end
|
20
|
+
|
21
|
+
APIClass.register_subclass(self, 'adverse_action')
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Checkr
|
2
|
+
class AdverseItemList < APIList
|
3
|
+
|
4
|
+
attribute :next_href
|
5
|
+
attribute :previous_href
|
6
|
+
attribute :count
|
7
|
+
attr_accessor :parent
|
8
|
+
|
9
|
+
api_instance_method :all, :get
|
10
|
+
|
11
|
+
def self.construct(json, parent=nil)
|
12
|
+
lambda = constructor(:AdverseItem)
|
13
|
+
instance = lambda.call(json)
|
14
|
+
instance.parent = parent if parent
|
15
|
+
instance.clear_changed_attributes
|
16
|
+
instance
|
17
|
+
end
|
18
|
+
|
19
|
+
def path
|
20
|
+
parent.path + '/adverse_items'
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
data/lib/checkr/report.rb
CHANGED
@@ -11,6 +11,9 @@ module Checkr
|
|
11
11
|
attribute :candidate, :Candidate
|
12
12
|
attribute_writer_alias :candidate_id, :candidate
|
13
13
|
|
14
|
+
attribute :adverse_items, :AdverseItemList, :nested => true, :default => {}
|
15
|
+
attribute_writer_alias :adverse_item_ids, :adverse_items
|
16
|
+
|
14
17
|
attribute :ssn_trace, :SSNTrace
|
15
18
|
attribute_writer_alias :ssn_trace_id, :ssn_trace
|
16
19
|
|
data/lib/checkr/version.rb
CHANGED
@@ -0,0 +1,91 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Checkr
|
4
|
+
class AdverseActionTest < Test::Unit::TestCase
|
5
|
+
setup do
|
6
|
+
@adverse_action_url = "#{Checkr.api_base}#{AdverseAction.path}"
|
7
|
+
end
|
8
|
+
|
9
|
+
should 'be registered' do
|
10
|
+
assert(APIClass.subclasses.include?(AdverseAction))
|
11
|
+
assert_equal(AdverseAction, APIClass.subclass_fetch('adverse_action'))
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'Constructed AdverseAction instance' do
|
15
|
+
setup do
|
16
|
+
@adverse_action = AdverseAction.construct(test_adverse_action)
|
17
|
+
end
|
18
|
+
|
19
|
+
[
|
20
|
+
:id,
|
21
|
+
:object,
|
22
|
+
:uri,
|
23
|
+
:created_at,
|
24
|
+
:status,
|
25
|
+
:report_id,
|
26
|
+
:post_notice_scheduled_at,
|
27
|
+
:post_notice_ready_at,
|
28
|
+
:canceled_at,
|
29
|
+
:individualized_assessment_engaged,
|
30
|
+
].each do |attribute|
|
31
|
+
should "have the #{attribute.to_s} attribute" do
|
32
|
+
assert_equal(test_adverse_action[attribute], @adverse_action.public_send(attribute))
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
context '.create' do
|
38
|
+
setup do
|
39
|
+
@report = Report.construct(test_report)
|
40
|
+
@create_url = "#{Checkr.api_base}#{Report.path}/#{@report.id}/adverse_actions"
|
41
|
+
end
|
42
|
+
|
43
|
+
should 'creates an instance of AdverseAction' do
|
44
|
+
@mock.expects(:post).once.with(@create_url, anything, anything)
|
45
|
+
.returns(test_response(test_adverse_action))
|
46
|
+
|
47
|
+
adverse_action = AdverseAction.create({ :report_id => @report.id })
|
48
|
+
|
49
|
+
assert(adverse_action.is_a?(AdverseAction))
|
50
|
+
assert_equal(test_adverse_action[:id], adverse_action.id)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
context '.retrieve' do
|
55
|
+
setup do
|
56
|
+
@id = test_adverse_action[:id]
|
57
|
+
@retrieve_url = "#{Checkr.api_base}#{AdverseAction.path}/#{@id}"
|
58
|
+
end
|
59
|
+
|
60
|
+
should 'fetches an instance of AdverseAction' do
|
61
|
+
@mock.expects(:get).once.with(@retrieve_url, anything, anything)
|
62
|
+
.returns(test_response(test_adverse_action))
|
63
|
+
|
64
|
+
adverse_action = AdverseAction.retrieve(@id)
|
65
|
+
|
66
|
+
assert(adverse_action.is_a?(AdverseAction))
|
67
|
+
assert_equal(@id, adverse_action.id)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
context '#cancel/.cancel' do
|
72
|
+
setup do
|
73
|
+
@id = test_adverse_action[:id]
|
74
|
+
@cancel_url = "#{Checkr.api_base}#{AdverseAction.path}/#{@id}"
|
75
|
+
end
|
76
|
+
|
77
|
+
should 'cancels an instance of AdverseAction' do
|
78
|
+
@mock.expects(:delete).twice.with(@cancel_url, anything, anything)
|
79
|
+
.returns(test_response(test_adverse_action))
|
80
|
+
|
81
|
+
adverse_action = AdverseAction.cancel(@id)
|
82
|
+
assert(adverse_action.is_a?(AdverseAction))
|
83
|
+
assert_equal(@id, adverse_action.id)
|
84
|
+
|
85
|
+
adverse_action = AdverseAction.new(@id).cancel
|
86
|
+
assert(adverse_action.is_a?(AdverseAction))
|
87
|
+
assert_equal(@id, adverse_action.id)
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Checkr
|
4
|
+
class AdverseItemTest < Test::Unit::TestCase
|
5
|
+
setup do
|
6
|
+
@report = Report.construct(test_report)
|
7
|
+
@adverse_item_url = "#{Checkr.api_base}#{@report.path}/adverse_items"
|
8
|
+
end
|
9
|
+
|
10
|
+
context 'Constructed AdverseItem instance' do
|
11
|
+
setup do
|
12
|
+
@adverse_item = AdverseItem.construct(test_adverse_item)
|
13
|
+
end
|
14
|
+
|
15
|
+
[
|
16
|
+
:id,
|
17
|
+
:object,
|
18
|
+
:uri,
|
19
|
+
:created_at,
|
20
|
+
:text,
|
21
|
+
].each do |attribute|
|
22
|
+
should "have the #{attribute.to_s} attribute" do
|
23
|
+
assert_equal(test_adverse_item[attribute], @adverse_item.public_send(attribute))
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context '.all' do
|
29
|
+
should 'return instances of AdverseItem' do
|
30
|
+
@mock.expects(:get).once.with do |url, params, opts|
|
31
|
+
url.start_with?(@adverse_item_url)
|
32
|
+
end.returns(test_response(test_adverse_item_list))
|
33
|
+
|
34
|
+
adverse_items = AdverseItem.all({ :report_id => @report.id })
|
35
|
+
|
36
|
+
assert(adverse_items.is_a?(AdverseItemList))
|
37
|
+
assert(adverse_items.length > 0)
|
38
|
+
adverse_items.each do |adverse_item|
|
39
|
+
assert(adverse_item.is_a?(AdverseItem))
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
should 'be registered' do
|
45
|
+
assert(APIClass.subclasses.include?(AdverseItem))
|
46
|
+
assert_equal(AdverseItem, APIClass.subclass_fetch('adverse_item'))
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
data/test/test_data.rb
CHANGED
@@ -513,6 +513,7 @@ module Checkr
|
|
513
513
|
:type=>"driver_license",
|
514
514
|
:content_type=>"image/jpeg"}
|
515
515
|
end
|
516
|
+
|
516
517
|
def test_document_list
|
517
518
|
{
|
518
519
|
:object => 'list',
|
@@ -528,6 +529,7 @@ module Checkr
|
|
528
529
|
:verification_url=>"http://verifications.checkr.com/db313e73383710d4fa2f18fd",
|
529
530
|
:completed_at=>nil}
|
530
531
|
end
|
532
|
+
|
531
533
|
def test_verification_list
|
532
534
|
{
|
533
535
|
:object => 'list',
|
@@ -535,6 +537,46 @@ module Checkr
|
|
535
537
|
}
|
536
538
|
end
|
537
539
|
|
540
|
+
def test_adverse_item
|
541
|
+
{
|
542
|
+
:id => '71c0c2c79349c9f899bda22d3ccf60b7e0469266',
|
543
|
+
:object => 'adverse_item',
|
544
|
+
:text => 'License status: Suspended',
|
545
|
+
}
|
546
|
+
end
|
547
|
+
|
548
|
+
def test_adverse_item_list
|
549
|
+
{
|
550
|
+
:object => 'list',
|
551
|
+
:count => 2,
|
552
|
+
:data => [test_adverse_item, test_adverse_item],
|
553
|
+
}
|
554
|
+
end
|
555
|
+
|
556
|
+
def test_adverse_action
|
557
|
+
{
|
558
|
+
:id => '5d0af2cdfccff00034be49e9',
|
559
|
+
:object => 'adverse_action',
|
560
|
+
:uri => '/v1/adverse_actions/5d0af2cdfccff00034be49e9',
|
561
|
+
:created_at => '2019-06-20T02:43:25Z',
|
562
|
+
:status => 'pending',
|
563
|
+
:report_id => 'd36abda710bde8fd2c9d2587',
|
564
|
+
:post_notice_scheduled_at => '2019-06-27T02:43:25Z',
|
565
|
+
:post_notice_ready_at => '2019-06-27T02:43:25Z',
|
566
|
+
:canceled_at => nil,
|
567
|
+
:individualized_assessment_engaged => false,
|
568
|
+
:adverse_items => test_adverse_item_list,
|
569
|
+
}
|
570
|
+
end
|
571
|
+
|
572
|
+
def test_adverse_action_list
|
573
|
+
{
|
574
|
+
:object => 'list',
|
575
|
+
:count => 2,
|
576
|
+
:data => [test_adverse_action, test_adverse_action],
|
577
|
+
}
|
578
|
+
end
|
579
|
+
|
538
580
|
def test_education_verification
|
539
581
|
{:id => "5af5e030d24297006cce1e06",
|
540
582
|
:object => "education_verification",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: checkr-official
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.7'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Checkr Engineering Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -128,6 +128,7 @@ email:
|
|
128
128
|
- eng@checkr.com
|
129
129
|
executables:
|
130
130
|
- checkr-console
|
131
|
+
- release
|
131
132
|
extensions: []
|
132
133
|
extra_rdoc_files: []
|
133
134
|
files:
|
@@ -138,10 +139,15 @@ files:
|
|
138
139
|
- Gemfile
|
139
140
|
- LICENSE
|
140
141
|
- README.md
|
142
|
+
- RELEASE.md
|
141
143
|
- Rakefile
|
142
144
|
- bin/checkr-console
|
145
|
+
- bin/release
|
143
146
|
- checkr-official.gemspec
|
144
147
|
- lib/checkr.rb
|
148
|
+
- lib/checkr/adverse_action.rb
|
149
|
+
- lib/checkr/adverse_item.rb
|
150
|
+
- lib/checkr/adverse_item_list.rb
|
145
151
|
- lib/checkr/api_class.rb
|
146
152
|
- lib/checkr/api_list.rb
|
147
153
|
- lib/checkr/api_resource.rb
|
@@ -193,6 +199,8 @@ files:
|
|
193
199
|
- samples/state_criminal_search.md
|
194
200
|
- samples/subscription.md
|
195
201
|
- tasks/api_test.rb
|
202
|
+
- test/checkr/adverse_action_test.rb
|
203
|
+
- test/checkr/adverse_item_test.rb
|
196
204
|
- test/checkr/api_class_test.rb
|
197
205
|
- test/checkr/api_list_test.rb
|
198
206
|
- test/checkr/api_resource_test.rb
|
@@ -246,11 +254,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
246
254
|
version: '0'
|
247
255
|
requirements: []
|
248
256
|
rubyforge_project:
|
249
|
-
rubygems_version: 2.
|
257
|
+
rubygems_version: 2.5.2.3
|
250
258
|
signing_key:
|
251
259
|
specification_version: 4
|
252
260
|
summary: Ruby bindings for Checkr API
|
253
261
|
test_files:
|
262
|
+
- test/checkr/adverse_action_test.rb
|
263
|
+
- test/checkr/adverse_item_test.rb
|
254
264
|
- test/checkr/api_class_test.rb
|
255
265
|
- test/checkr/api_list_test.rb
|
256
266
|
- test/checkr/api_resource_test.rb
|