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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ddf3564caa67a9d76f33081ebbe8a889c43aa911
4
- data.tar.gz: ee4f0219b03a8f6d7e46e6e736c14637b8f3ad64
3
+ metadata.gz: b921aaa8e158abf8c33bf28f04d410c0d38b7186
4
+ data.tar.gz: 6ad0c7169770e3322ee4f11c2a54baa0a40f7bff
5
5
  SHA512:
6
- metadata.gz: 46e1febb7312c67a30b568ea6dbc54378a180e531783eaa0f7891ef2294148534487c775e1af3c05cbc81b7d4f36fca25306ac43b007595bb894414fa86ea4e9
7
- data.tar.gz: 9ab891fd506d0b456a6a5bf35589ff0544b951fb8222b256576662a52b1f07d1710c897c9747840e57c51d654ea281c27bf9a6b51e2b9cd09bb8042f8d666458
6
+ metadata.gz: 8b8cc2de5438b56719e28c8437434b068f8823e040496463e7c193f6a026272c948c0bd4904ef748a229c113fc70db7289d15d280713fea2305ef511e2da0520
7
+ data.tar.gz: b54f0c8f82617b4b46740ce330aefd0ac3144e48a9cb08bdb399c5d796c659b9b2adafa7ab1dd8db95758a72dd457ae702de4ac84eba4d18bf08a7283211d6c8
@@ -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': '[]'
@@ -1,8 +1,7 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.9.3
4
- - 2.0.0
5
- - 2.1
6
3
  - 2.2
7
- - 2.3.0
4
+ - 2.3
5
+ - 2.4
6
+ - 2.5
8
7
  - jruby
@@ -1,3 +1,10 @@
1
+ ## 1.3.1 (2018-01-19)
2
+
3
+ Features:
4
+
5
+ - Add Package
6
+ - Add Program
7
+
1
8
  ## 1.2.1 (2017-10-25)
2
9
 
3
10
  Fixes:
@@ -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
@@ -0,0 +1,9 @@
1
+ module Checkr
2
+ class Screening < APIResource
3
+
4
+ attribute :type
5
+ attribute :subtype
6
+
7
+ APIClass.register_subclass(self, "screening")
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module Checkr
2
- VERSION = '1.2.1'.freeze
2
+ VERSION = '1.3.1'.freeze
3
3
  end
@@ -186,7 +186,4 @@ class APITest
186
186
 
187
187
  motor_vehicle_report
188
188
  end
189
-
190
-
191
-
192
189
  end
@@ -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
@@ -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.2.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: 2017-10-25 00:00:00.000000000 Z
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
- - ".gitignore"
135
- - ".hound.yml"
136
- - ".rubocop.yml"
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.6.11
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
@@ -1,2 +0,0 @@
1
- ruby:
2
- config_file: .rubocop.yml