checkr-official 1.2.1 → 1.3.1
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 +4 -4
- data/.rubocop.yml +6 -6
- data/.travis.yml +3 -4
- data/Changelog.md +7 -0
- data/lib/checkr.rb +2 -0
- data/lib/checkr/package.rb +19 -0
- data/lib/checkr/program.rb +21 -0
- data/lib/checkr/screening.rb +9 -0
- data/lib/checkr/version.rb +1 -1
- data/tasks/api_test.rb +0 -3
- data/test/checkr/package_test.rb +90 -0
- data/test/checkr/program_test.rb +89 -0
- data/test/test_data.rb +39 -0
- metadata +27 -21
- data/.hound.yml +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b921aaa8e158abf8c33bf28f04d410c0d38b7186
|
4
|
+
data.tar.gz: 6ad0c7169770e3322ee4f11c2a54baa0a40f7bff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b8cc2de5438b56719e28c8437434b068f8823e040496463e7c193f6a026272c948c0bd4904ef748a229c113fc70db7289d15d280713fea2305ef511e2da0520
|
7
|
+
data.tar.gz: b54f0c8f82617b4b46740ce330aefd0ac3144e48a9cb08bdb399c5d796c659b9b2adafa7ab1dd8db95758a72dd457ae702de4ac84eba4d18bf08a7283211d6c8
|
data/.rubocop.yml
CHANGED
@@ -10,6 +10,12 @@ AllCops:
|
|
10
10
|
- 'vendor/**/*'
|
11
11
|
DisplayCopNames: true
|
12
12
|
|
13
|
+
Layout/EmptyLinesAroundClassBody:
|
14
|
+
EnforcedStyle: empty_lines
|
15
|
+
|
16
|
+
Layout/MultilineMethodCallIndentation:
|
17
|
+
EnforcedStyle: indented
|
18
|
+
|
13
19
|
Metrics/AbcSize:
|
14
20
|
Max: 20
|
15
21
|
|
@@ -34,12 +40,6 @@ Style/Documentation:
|
|
34
40
|
Style/SymbolArray:
|
35
41
|
Enabled: false
|
36
42
|
|
37
|
-
Style/EmptyLinesAroundClassBody:
|
38
|
-
EnforcedStyle: empty_lines
|
39
|
-
|
40
|
-
Style/MultilineMethodCallIndentation:
|
41
|
-
EnforcedStyle: indented
|
42
|
-
|
43
43
|
Style/PercentLiteralDelimiters:
|
44
44
|
PreferredDelimiters:
|
45
45
|
'%i': '[]'
|
data/.travis.yml
CHANGED
data/Changelog.md
CHANGED
data/lib/checkr.rb
CHANGED
@@ -28,6 +28,8 @@ require 'checkr/global_watchlist_search'
|
|
28
28
|
require 'checkr/invitation'
|
29
29
|
require 'checkr/motor_vehicle_report'
|
30
30
|
require 'checkr/national_criminal_search'
|
31
|
+
require 'checkr/package'
|
32
|
+
require 'checkr/program'
|
31
33
|
require 'checkr/report'
|
32
34
|
require 'checkr/report_list'
|
33
35
|
require 'checkr/sex_offender_search'
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Checkr
|
2
|
+
class Package < APIResource
|
3
|
+
|
4
|
+
attribute :name
|
5
|
+
attribute :slug
|
6
|
+
attribute :price
|
7
|
+
attribute :screenings
|
8
|
+
|
9
|
+
api_class_method :all, :get, :constructor => APIList.constructor(:Package)
|
10
|
+
api_class_method :retrieve, :get, ":path/:id", :arguments => [:id]
|
11
|
+
api_class_method :create, :post
|
12
|
+
|
13
|
+
def self.path
|
14
|
+
"/v1/packages"
|
15
|
+
end
|
16
|
+
|
17
|
+
APIClass.register_subclass(self, 'package')
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Checkr
|
2
|
+
class Program < APIResource
|
3
|
+
|
4
|
+
attribute :name
|
5
|
+
attribute :created_at
|
6
|
+
attribute :deleted_at
|
7
|
+
attribute :geos, APIList.constructor(:Geo)
|
8
|
+
attribute_writer_alias :geo_ids, :geos
|
9
|
+
attribute :packages, APIList.constructor(:Package)
|
10
|
+
attribute_writer_alias :package_ids, :packages
|
11
|
+
|
12
|
+
api_class_method :all, :get, :constructor => APIList.constructor(:Program)
|
13
|
+
api_class_method :retrieve, :get, ":path/:id", :arguments => [:id]
|
14
|
+
|
15
|
+
def self.path
|
16
|
+
"/v1/programs"
|
17
|
+
end
|
18
|
+
|
19
|
+
APIClass.register_subclass(self, 'program')
|
20
|
+
end
|
21
|
+
end
|
data/lib/checkr/version.rb
CHANGED
data/tasks/api_test.rb
CHANGED
@@ -0,0 +1,90 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Checkr
|
4
|
+
class PackageTest < Test::Unit::TestCase
|
5
|
+
setup do
|
6
|
+
@package_url = "#{Checkr.api_base}/v1/packages"
|
7
|
+
end
|
8
|
+
|
9
|
+
context 'Package class' do
|
10
|
+
should 'be retrieveable' do
|
11
|
+
id = 'package_id'
|
12
|
+
@mock.expects(:get).once.with("#{@package_url}/#{id}", anything, anything)
|
13
|
+
.returns(test_response(test_package))
|
14
|
+
package = Package.retrieve(id)
|
15
|
+
assert(package.is_a?(Package))
|
16
|
+
end
|
17
|
+
|
18
|
+
should 'be createable' do
|
19
|
+
@mock.expects(:post).once.with(@package_url, anything, test_package)
|
20
|
+
.returns(test_response(test_package))
|
21
|
+
package = Package.create(test_package)
|
22
|
+
assert(package.is_a?(Package))
|
23
|
+
assert_equal(test_package[:id], package.id)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'Package instance' do
|
28
|
+
should 'be refreshable' do
|
29
|
+
@mock.expects(:get).once.with("#{@package_url}/#{test_package[:id]}", anything, anything)
|
30
|
+
.returns(test_response(test_package))
|
31
|
+
package = Package.new(test_package[:id])
|
32
|
+
package.refresh
|
33
|
+
assert_equal(test_package[:name], package.name)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
context 'Retrieved Package instance' do
|
38
|
+
setup do
|
39
|
+
@mock.expects(:get).once.returns(test_response(test_package))
|
40
|
+
@package = Package.retrieve('package_id')
|
41
|
+
end
|
42
|
+
|
43
|
+
should 'have the id attribute' do
|
44
|
+
assert_equal(test_package[:id], @package.id)
|
45
|
+
end
|
46
|
+
|
47
|
+
should 'have the object attribute' do
|
48
|
+
assert_equal(test_package[:object], @package.object)
|
49
|
+
end
|
50
|
+
|
51
|
+
should 'have the uri attribute' do
|
52
|
+
assert_equal(test_package[:uri], @package.uri)
|
53
|
+
end
|
54
|
+
|
55
|
+
should 'have the created_at attribute' do
|
56
|
+
assert_equal(test_package[:created_at], @package.created_at)
|
57
|
+
end
|
58
|
+
|
59
|
+
should 'have the name attribute' do
|
60
|
+
assert_equal(test_package[:name], @package.name)
|
61
|
+
end
|
62
|
+
|
63
|
+
should 'have the slug attribute' do
|
64
|
+
assert_equal(test_package[:slug], @package.slug)
|
65
|
+
end
|
66
|
+
|
67
|
+
should 'have the price attribute' do
|
68
|
+
assert_equal(test_package[:price], @package.price)
|
69
|
+
end
|
70
|
+
|
71
|
+
should 'have screenings attribute' do
|
72
|
+
assert_equal(test_package[:screenings], @package.screenings)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
context '#all' do
|
77
|
+
should 'return instances of Package' do
|
78
|
+
@mock.expects(:get).once.with(@package_url, anything, anything)
|
79
|
+
.returns(test_response(test_package_list))
|
80
|
+
assert_equal(Package.all.first.class, Package)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
should 'be registered' do
|
85
|
+
assert(APIClass.subclasses.include?(Package))
|
86
|
+
assert_equal(Package, APIClass.subclass_fetch('package'))
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
module Checkr
|
4
|
+
class ProgramTest < Test::Unit::TestCase
|
5
|
+
setup do
|
6
|
+
@program_url = "#{Checkr.api_base}/v1/programs"
|
7
|
+
end
|
8
|
+
|
9
|
+
context 'Program class' do
|
10
|
+
should 'be retrieveable' do
|
11
|
+
id = 'program_id'
|
12
|
+
@mock.expects(:get).once.with("#{@program_url}/#{id}", anything, anything)
|
13
|
+
.returns(test_response(test_program))
|
14
|
+
program = Program.retrieve(id)
|
15
|
+
assert(program.is_a?(Program))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
context 'Program instance' do
|
20
|
+
should 'be refreshable' do
|
21
|
+
@mock.expects(:get).once.with("#{@program_url}/#{test_program[:id]}", anything, anything)
|
22
|
+
.returns(test_response(test_program))
|
23
|
+
program = Program.new(test_program[:id])
|
24
|
+
program.refresh
|
25
|
+
assert_equal(program.name, test_program[:name])
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'Retrieved Program instance' do
|
30
|
+
setup do
|
31
|
+
@mock.expects(:get).once.returns(test_response(test_program))
|
32
|
+
@program = Program.retrieve('program_id')
|
33
|
+
end
|
34
|
+
|
35
|
+
should 'have the id attribute' do
|
36
|
+
assert_equal(@program.id, test_program[:id])
|
37
|
+
end
|
38
|
+
|
39
|
+
should 'have the object attribute' do
|
40
|
+
assert_equal(@program.object, test_program[:object])
|
41
|
+
end
|
42
|
+
|
43
|
+
should 'have the uri attribute' do
|
44
|
+
assert_equal(@program.uri, test_program[:uri])
|
45
|
+
end
|
46
|
+
|
47
|
+
should 'have the created_at attribute' do
|
48
|
+
assert_equal(@program.created_at, test_program[:created_at])
|
49
|
+
end
|
50
|
+
|
51
|
+
should 'have the deleted_at attribute' do
|
52
|
+
assert_equal(@program.deleted_at, test_program[:deleted_at])
|
53
|
+
end
|
54
|
+
|
55
|
+
should 'have the name attribute' do
|
56
|
+
assert_equal(@program.name, test_program[:name])
|
57
|
+
end
|
58
|
+
|
59
|
+
should 'have the geo_ids attribute' do
|
60
|
+
assert_equal(@program.geos.json, test_program[:geo_ids])
|
61
|
+
assert(@program.geos.is_a?(APIList))
|
62
|
+
end
|
63
|
+
|
64
|
+
# should 'have the packages attribute' do
|
65
|
+
# assert(@candidate.packages.any?)
|
66
|
+
# assert(@candidate.packages.is_a?(PackageList))
|
67
|
+
# end
|
68
|
+
|
69
|
+
should 'have the package_ids attribute' do
|
70
|
+
assert_equal(@program.packages.json, test_program[:package_ids])
|
71
|
+
assert(@program.packages.is_a?(APIList))
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
context '#all' do
|
76
|
+
should 'return instances of Program' do
|
77
|
+
@mock.expects(:get).once.with(@program_url, anything, anything)
|
78
|
+
.returns(test_response(test_program_list))
|
79
|
+
assert_equal(Program.all.first.class, Program)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
should 'be registered' do
|
84
|
+
assert(APIClass.subclasses.include?(Program))
|
85
|
+
assert_equal(Program, APIClass.subclass_fetch('program'))
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
89
|
+
end
|
data/test/test_data.rb
CHANGED
@@ -125,6 +125,45 @@ module Checkr
|
|
125
125
|
:state=>"CA"}
|
126
126
|
end
|
127
127
|
|
128
|
+
def test_package
|
129
|
+
{:id=>"e44aa283528e6fde7d542194",
|
130
|
+
:object=>"package",
|
131
|
+
:uri=>"/v1/packages/e44aa283528e6fde7d542194",
|
132
|
+
:created_at=>"2018-01-18T12:34:00Z",
|
133
|
+
:name=>"Criminal Pro",
|
134
|
+
:slug=>"criminal_pro",
|
135
|
+
:price=>"6500",
|
136
|
+
:screenings=>
|
137
|
+
[{:type=>"ssn_trace",
|
138
|
+
:subtype=>nil},
|
139
|
+
{:type=>"county_criminal_search",
|
140
|
+
:subtype=>"7years"}]}
|
141
|
+
end
|
142
|
+
|
143
|
+
def test_package_list
|
144
|
+
{
|
145
|
+
:object => 'list',
|
146
|
+
:data => [test_package, test_package, test_package],
|
147
|
+
}
|
148
|
+
end
|
149
|
+
|
150
|
+
def test_program
|
151
|
+
{:id=>"e44aa283528e6fde7d542194",
|
152
|
+
:object=>"program",
|
153
|
+
:uri=>"/v1/programs/e44aa283528e6fde7d542194",
|
154
|
+
:created_at=>"2018-01-18T12:34:00Z",
|
155
|
+
:deleted_at=>"2018-01-18T12:34:00Z",
|
156
|
+
:geo_ids=>["cbc37748bc6a45b41af5c3f5"],
|
157
|
+
:package_ids=>["a57a0cd15965a585ff7d5d35"]}
|
158
|
+
end
|
159
|
+
|
160
|
+
def test_program_list
|
161
|
+
{
|
162
|
+
:object => 'list',
|
163
|
+
:data => [test_program, test_program, test_program],
|
164
|
+
}
|
165
|
+
end
|
166
|
+
|
128
167
|
def test_ssn_trace
|
129
168
|
{:id=>"539fd88c101897f7cd000001",
|
130
169
|
:object=>"ssn_trace",
|
metadata
CHANGED
@@ -1,83 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: checkr-official
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Calhoun
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.4'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.4'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 1.8.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 1.8.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: mocha
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 0.13.2
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.13.2
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: shoulda
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 3.4.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 3.4.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: activesupport
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 4.2.6
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 4.2.6
|
83
83
|
- !ruby/object:Gem::Dependency
|
@@ -112,14 +112,14 @@ dependencies:
|
|
112
112
|
name: test-unit
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - '>='
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - '>='
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
description: Checkr - Automated background screenings and driving records. See https://checkr.com/
|
@@ -131,10 +131,9 @@ executables:
|
|
131
131
|
extensions: []
|
132
132
|
extra_rdoc_files: []
|
133
133
|
files:
|
134
|
-
-
|
135
|
-
-
|
136
|
-
-
|
137
|
-
- ".travis.yml"
|
134
|
+
- .gitignore
|
135
|
+
- .rubocop.yml
|
136
|
+
- .travis.yml
|
138
137
|
- Changelog.md
|
139
138
|
- Gemfile
|
140
139
|
- README.md
|
@@ -161,8 +160,11 @@ files:
|
|
161
160
|
- lib/checkr/invitation.rb
|
162
161
|
- lib/checkr/motor_vehicle_report.rb
|
163
162
|
- lib/checkr/national_criminal_search.rb
|
163
|
+
- lib/checkr/package.rb
|
164
|
+
- lib/checkr/program.rb
|
164
165
|
- lib/checkr/report.rb
|
165
166
|
- lib/checkr/report_list.rb
|
167
|
+
- lib/checkr/screening.rb
|
166
168
|
- lib/checkr/sex_offender_search.rb
|
167
169
|
- lib/checkr/ssn_trace.rb
|
168
170
|
- lib/checkr/subscription.rb
|
@@ -197,6 +199,8 @@ files:
|
|
197
199
|
- test/checkr/invitation_test.rb
|
198
200
|
- test/checkr/motor_vehicle_report_test.rb
|
199
201
|
- test/checkr/national_criminal_search_test.rb
|
202
|
+
- test/checkr/package_test.rb
|
203
|
+
- test/checkr/program_test.rb
|
200
204
|
- test/checkr/report_test.rb
|
201
205
|
- test/checkr/sex_offender_search_test.rb
|
202
206
|
- test/checkr/ssn_trace_test.rb
|
@@ -215,17 +219,17 @@ require_paths:
|
|
215
219
|
- lib
|
216
220
|
required_ruby_version: !ruby/object:Gem::Requirement
|
217
221
|
requirements:
|
218
|
-
- -
|
222
|
+
- - '>='
|
219
223
|
- !ruby/object:Gem::Version
|
220
224
|
version: 1.9.3
|
221
225
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
222
226
|
requirements:
|
223
|
-
- -
|
227
|
+
- - '>='
|
224
228
|
- !ruby/object:Gem::Version
|
225
229
|
version: '0'
|
226
230
|
requirements: []
|
227
231
|
rubyforge_project:
|
228
|
-
rubygems_version: 2.
|
232
|
+
rubygems_version: 2.0.14.1
|
229
233
|
signing_key:
|
230
234
|
specification_version: 4
|
231
235
|
summary: Ruby bindings for Checkr API
|
@@ -245,6 +249,8 @@ test_files:
|
|
245
249
|
- test/checkr/invitation_test.rb
|
246
250
|
- test/checkr/motor_vehicle_report_test.rb
|
247
251
|
- test/checkr/national_criminal_search_test.rb
|
252
|
+
- test/checkr/package_test.rb
|
253
|
+
- test/checkr/program_test.rb
|
248
254
|
- test/checkr/report_test.rb
|
249
255
|
- test/checkr/sex_offender_search_test.rb
|
250
256
|
- test/checkr/ssn_trace_test.rb
|
data/.hound.yml
DELETED