checkr-official 1.2.1 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
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