eligible 2.9.17 → 3.0.0.beta1

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: 072f39a525f40a51ecd5fe5d442cfbcb980c89caf4f9489e6ae15268a758c823
4
- data.tar.gz: dfa3fc731d6ab079182451b7264f8fd43ba730261a20de7d804ccf420f245090
3
+ metadata.gz: 5f26d623c6899f3464e7e248ac88bc443bf7bc9ca483b7aebe989e430a1f01d4
4
+ data.tar.gz: 532753d9a4753bec287e0f4d74202b15596711a07898d2e24ad47712ec6580e0
5
5
  SHA512:
6
- metadata.gz: 25f724ad3865f2a0a5862f3bbfc1b4bcb9c362a2e2b436b6ae1cc2110cb2344be6af4e9de6927efe1d6e82ae4d15fbc731ffce6257f83a3c28eb51e6872a85c8
7
- data.tar.gz: 53cd7345bbf757f504ec97d55c4a146c71b94ee82ed920627513d8b261c09df11763dcd49912aa96fb9dacbde6b9d08c730e2e910a840340b4920e66e821fa8f
6
+ metadata.gz: d579842a87e0968e409d4aa095975c754e8deecb869c474594ee4587156154b69644d69ad951c3cf56dda61cf02202c38dfa2e0159c9e4b0e473c5e1bfc1c34f
7
+ data.tar.gz: 7f3884cdb6665753356acca910e296b3f8ac57dbae9dab1c6e93ba3d753ced3ae2f90c0642c41ecd3c7808f38998cefcf2f8e59c6ab2256aec97af456c17218a
data/.circleci/config.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  version: 2
2
2
  default_environment: &default_environment
3
3
  docker:
4
- - image: circleci/ruby:2.2-jessie-browsers
4
+ - image: circleci/ruby:2.4-stretch-browsers
5
5
  environment:
6
6
  BUNDLE_JOBS: 3
7
7
  BUNDLE_RETRY: 3
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.3
1
+ 2.4.3
data/CHANGELOG.md CHANGED
@@ -1,27 +1,7 @@
1
1
  # Changelog
2
- ## 2.9.17 - 2025-01-20
3
- - Updated pinned GDS SSL certificate
4
2
 
5
- ## 2.9.16 - 2025-01-15
6
- - Updated pinned GDS SSL certificate
7
-
8
- ## 2.9.15 - 2024-01-11
9
- - Updated pinned GDS SSL certificate
10
-
11
- ## 2.9.14 - 2023-01-16
12
- - Updated pinned GDS SSL certificate
13
-
14
- ## 2.9.13 - 2022-02-07
15
- - Updated pinned GDS SSL certificate
16
-
17
- ## 2.9.12 - 2021-04-12
18
- - Fixing the pinned GDS SSL certificate
19
-
20
- ## 2.9.11 - 2021-04-01
21
- - Updated pinned GDS SSL certificate
22
-
23
- ## 2.9.10 - 2020-05-13
24
- - Updated pinned GDS SSL certificate
3
+ ## 3.0.0.beta1 - 2019-10-01
4
+ - Added support for Eligible-Account Header in the API requests when used Eligible Connect feature
25
5
 
26
6
  ## 2.9.9 - 2019-08-07
27
7
  - Added Icd code endpoints
data/Gemfile CHANGED
@@ -1,4 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ # cut patch number off the version number and lock it down to the minor version
4
+ ruby_version = File.read(File.expand_path('.ruby-version', __dir__)).chomp.split('.')[0..1].join('.')
5
+ ruby "~> #{ruby_version}"
6
+
3
7
  # Specify your gem's dependencies in eligible.gemspec
4
8
  gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eligible (2.9.17)
4
+ eligible (3.0.0.beta1)
5
5
  multi_json (~> 1.7)
6
6
  rest-client (~> 2.0.0)
7
7
 
@@ -12,13 +12,13 @@ GEM
12
12
  docile (1.1.5)
13
13
  domain_name (0.5.20190701)
14
14
  unf (>= 0.0.5, < 1.0.0)
15
- http-cookie (1.0.5)
15
+ http-cookie (1.0.3)
16
16
  domain_name (~> 0.5)
17
17
  json (2.1.0)
18
- mime-types (3.4.1)
18
+ mime-types (3.3.1)
19
19
  mime-types-data (~> 3.2015)
20
- mime-types-data (3.2023.1205)
21
- multi_json (1.15.0)
20
+ mime-types-data (3.2019.1009)
21
+ multi_json (1.14.1)
22
22
  netrc (0.11.0)
23
23
  rake (12.3.0)
24
24
  rest-client (2.0.2)
@@ -47,7 +47,7 @@ GEM
47
47
  simplecov-html (0.10.2)
48
48
  unf (0.1.4)
49
49
  unf_ext
50
- unf_ext (0.0.8.2)
50
+ unf_ext (0.0.7.6)
51
51
 
52
52
  PLATFORMS
53
53
  ruby
@@ -59,5 +59,8 @@ DEPENDENCIES
59
59
  rspec_junit_formatter (~> 0.3.0)
60
60
  simplecov (~> 0.11)
61
61
 
62
+ RUBY VERSION
63
+ ruby 2.4.3p205
64
+
62
65
  BUNDLED WITH
63
66
  1.17.3
data/README.md CHANGED
@@ -154,7 +154,7 @@ params = {
154
154
  network: 'IN',
155
155
  payer_id: '00001',
156
156
  provider_npi: '1234567893',
157
- member_id: 'COST_ESTIMATES_001',
157
+ member_id: 'COST_ESTIMATE_001',
158
158
  member_dob: '1886-01-01',
159
159
  provider_price: '200',
160
160
  level: 'individual'
@@ -24,12 +24,24 @@ module Eligible
24
24
  fail ArgumentError, "#{name} of the #{class_name} is required" if value.nil? || (value.is_a?(String) && value.empty?)
25
25
  end
26
26
 
27
- def self.send_request(method, url, api_key, params, required_param_name = nil)
28
- unless required_param_name.nil?
27
+ def self.required_param_validation(params:, required_params:)
28
+ return if required_params.nil? || !required_params.is_a?(Array)
29
+
30
+ required_params.each do |required_param_name|
29
31
  required_param = Util.value(params, required_param_name)
30
32
  require_param(required_param, required_param_name)
31
33
  end
32
- response, api_key = Eligible.request(method, url, api_key, params)
34
+ end
35
+
36
+ def self.send_request(method, url, params, opts)
37
+ headers = opts.clone
38
+ client_secret = headers.delete(:client_secret)
39
+ api_key = headers.delete(:api_key)
40
+ api_key = client_secret unless client_secret.nil?
41
+
42
+ required_param_validation(params: params, required_params: headers.delete(:required_params))
43
+
44
+ response, api_key = Eligible.request(method, url, api_key, params, headers)
33
45
  Util.convert_to_eligible_object(response, api_key)
34
46
  end
35
47
 
@@ -1,7 +1,7 @@
1
1
  module Eligible
2
2
  class CalculatorDeployUrl < APIResource
3
- def self.fetch_or_create(params, api_key = nil)
4
- send_request(:get, '/calculator_deploy_urls.json', api_key, params)
3
+ def self.fetch_or_create(params, opts = {})
4
+ send_request :get, '/calculator_deploy_urls.json', params, opts
5
5
  end
6
6
  end
7
7
  end
@@ -1,28 +1,28 @@
1
1
  module Eligible
2
2
  class Claim < APIResource
3
- def self.ack(params, api_key = nil)
3
+ def self.ack(params, opts = {})
4
4
  reference_id = Util.value(params, :reference_id)
5
- send_request(:get, "/claims/#{reference_id}/acknowledgements.json", api_key, params, :reference_id)
5
+ send_request :get, "/claims/#{reference_id}/acknowledgements.json", params, opts.merge(required_params: [:reference_id])
6
6
  end
7
7
 
8
- def self.post(params, api_key = nil)
9
- send_request(:post, '/claims.json', api_key, params)
8
+ def self.post(params, opts = {})
9
+ send_request :post, '/claims.json', params, opts
10
10
  end
11
11
 
12
- def self.acks(params, api_key = nil)
13
- send_request(:get, '/claims/acknowledgements.json', api_key, params)
12
+ def self.acks(params, opts = {})
13
+ send_request :get, '/claims/acknowledgements.json', params, opts
14
14
  end
15
15
 
16
- def self.payment_report(params, api_key = nil)
16
+ def self.payment_report(params, opts = {})
17
17
  reference_id = Util.value(params, :reference_id)
18
18
  require_param(reference_id, 'Reference id')
19
19
  id = Util.value(params, :id)
20
20
  url = id.nil? ? "/claims/#{reference_id}/payment_reports" : "/claims/#{reference_id}/payment_reports/#{id}"
21
- send_request(:get, url, api_key, params)
21
+ send_request :get, url, params, opts
22
22
  end
23
23
 
24
- def self.payment_reports(params, api_key = nil)
25
- send_request(:get, '/claims/payment_reports.json', api_key, params)
24
+ def self.payment_reports(params, opts = {})
25
+ send_request :get, '/claims/payment_reports.json', params, opts
26
26
  end
27
27
  end
28
28
  end
@@ -8,12 +8,12 @@ module Eligible
8
8
  return '/coverage/all/batch.json'
9
9
  end
10
10
 
11
- def self.cost_estimate(params, api_key = nil)
12
- send_request(:get, '/coverage/cost_estimates.json', api_key, params)
11
+ def self.cost_estimate(params, opts = {})
12
+ send_request :get, '/coverage/cost_estimates.json', params, opts
13
13
  end
14
14
 
15
- def self.batch_medicare_post(params, api_key = nil)
16
- send_request(:post, '/medicare/coverage/batch.json', api_key, params)
15
+ def self.batch_medicare_post(params, opts = {})
16
+ send_request :post, '/medicare/coverage/batch.json', params, opts
17
17
  end
18
18
  end
19
19
  end
@@ -1,11 +1,11 @@
1
1
  module Eligible
2
2
  class CoverageResource < APIResource
3
- def self.get(params, api_key = nil)
4
- send_request(:get, get_uri, api_key, params)
3
+ def self.get(params, opts = {})
4
+ send_request :get, get_uri, params, opts
5
5
  end
6
6
 
7
- def self.post(params, api_key = nil)
8
- send_request(:post, post_uri, api_key, params)
7
+ def self.post(params, opts = {})
8
+ send_request :post, post_uri, params, opts
9
9
  end
10
10
 
11
11
  def self.get_uri
@@ -1,19 +1,19 @@
1
1
  module Eligible
2
2
  class Customer < APIResource
3
- def self.get(params, api_key = nil)
4
- send_request(:get, api_url('customers', params, :customer_id), api_key, params, :customer_id)
3
+ def self.get(params, opts = {})
4
+ send_request :get, api_url('customers', params, :customer_id), params, opts.merge(required_params: [:customer_id])
5
5
  end
6
6
 
7
- def self.post(params, api_key = nil)
8
- send_request(:post, api_url('customers'), api_key, params)
7
+ def self.post(params, opts = {})
8
+ send_request :post, api_url('customers'), params, opts
9
9
  end
10
10
 
11
- def self.update(params, api_key = nil)
12
- send_request(:put, api_url('customers', params, :customer_id), api_key, params, :customer_id)
11
+ def self.update(params, opts = {})
12
+ send_request :put, api_url('customers', params, :customer_id), params, opts.merge(required_params: [:customer_id])
13
13
  end
14
14
 
15
- def self.all(params, api_key = nil)
16
- send_request(:get, api_url('customers'), api_key, params)
15
+ def self.all(params, opts = {})
16
+ send_request :get, api_url('customers'), params, opts
17
17
  end
18
18
  end
19
19
  end
@@ -1,19 +1,19 @@
1
1
  module Eligible
2
2
  class Enrollment < APIResource
3
- def self.get(params, api_key = nil)
4
- send_request(:get, api_url('enrollment_npis', params, :enrollment_npi_id), api_key, params, :enrollment_npi_id)
3
+ def self.get(params, opts = {})
4
+ send_request :get, api_url('enrollment_npis', params, :enrollment_npi_id), params, opts.merge(required_params: [:enrollment_npi_id])
5
5
  end
6
6
 
7
- def self.list(params, api_key = nil)
8
- send_request(:get, api_url('enrollment_npis'), api_key, params)
7
+ def self.list(params, opts = {})
8
+ send_request :get, api_url('enrollment_npis'), params, opts
9
9
  end
10
10
 
11
- def self.post(params, api_key = nil)
12
- send_request(:post, api_url('enrollment_npis'), api_key, params)
11
+ def self.post(params, opts = {})
12
+ send_request :post, api_url('enrollment_npis'), params, opts
13
13
  end
14
14
 
15
- def self.update(params, api_key = nil)
16
- send_request(:put, api_url('enrollment_npis', params, :enrollment_npi_id), api_key, params, :enrollment_npi_id)
15
+ def self.update(params, opts = {})
16
+ send_request :put, api_url('enrollment_npis', params, :enrollment_npi_id), params, opts.merge(required_params: [:enrollment_npi_id])
17
17
  end
18
18
 
19
19
  def enrollment_npis
@@ -16,7 +16,8 @@ module Eligible
16
16
 
17
17
  def to_s
18
18
  status_string = @http_status.nil? ? '' : "(Status #{@http_status}) "
19
- "#{status_string}#{@message}: #{@errors.to_json}"
19
+ json_errors = errors.presence || (json_body&.key?(:error) ? [json_body] : [])
20
+ "#{status_string}#{@message}: #{json_errors.to_json}"
20
21
  end
21
22
  end
22
23
  end
data/lib/eligible/icd.rb CHANGED
@@ -1,16 +1,16 @@
1
1
  module Eligible
2
2
  class Icd < APIResource
3
3
 
4
- def self.list(params, api_key = nil)
5
- send_request(:get, "/icds/#{Util.value(params, :type)}", api_key, params)
4
+ def self.list(params, opts = {})
5
+ send_request :get, "/icds/#{Util.value(params, :type)}", params, opts
6
6
  end
7
7
 
8
- def self.describe(params, api_key = nil)
9
- send_request(:get, "/icds/#{Util.value(params, :type)}/describe/#{Util.value(params, :code)}", api_key, params)
8
+ def self.describe(params, opts = {})
9
+ send_request :get, "/icds/#{Util.value(params, :type)}/describe/#{Util.value(params, :code)}", params, opts
10
10
  end
11
11
 
12
- def self.crosswalk(params, api_key = nil)
13
- send_request(:get, "/icds/#{Util.value(params, :type)}/crosswalk/#{Util.value(params, :code)}", api_key, params)
12
+ def self.crosswalk(params, opts = {})
13
+ send_request :get, "/icds/#{Util.value(params, :type)}/crosswalk/#{Util.value(params, :code)}", params, opts
14
14
  end
15
15
  end
16
16
  end
@@ -3,12 +3,12 @@ require 'base64'
3
3
 
4
4
  module Eligible
5
5
  class Lockbox < APIResource
6
- def self.get(params, api_key = nil)
7
- send_request(:get, api_url('lockboxes', params, :lockbox_id), api_key, params, :lockbox_id)
6
+ def self.get(params, opts = {})
7
+ send_request :get, api_url('lockboxes', params, :lockbox_id), params, opts.merge(required_params: [:lockbox_id])
8
8
  end
9
9
 
10
- def self.all(params, api_key = nil)
11
- send_request(:get, api_url('lockboxes'), api_key, params)
10
+ def self.all(params, opts = {})
11
+ send_request :get, api_url('lockboxes'), params, opts
12
12
  end
13
13
 
14
14
  def self.extract_private_key(params)
@@ -29,10 +29,10 @@ module Eligible
29
29
  Encryptor.decrypt(value: Base64.decode64(data), key: sha_key, insecure_mode: true)
30
30
  end
31
31
 
32
- def self.get_and_decrypt_from_lockbox(params, api_key = nil)
32
+ def self.get_and_decrypt_from_lockbox(params, opts = {})
33
33
  private_key = extract_private_key(params)
34
34
  delete_private_key!(params)
35
- req = get(params, api_key).to_hash
35
+ req = get(params, opts).to_hash
36
36
  decrypt_data(req[:encrypted_data], req[:encrypted_key], private_key)
37
37
  end
38
38
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ class OauthToken < APIResource
5
+ def self.post(params, opts = {})
6
+ send_request :post, '/oauth/token', params, opts
7
+ end
8
+ end
9
+ end
data/lib/eligible/ocr.rb CHANGED
@@ -5,9 +5,9 @@ module Eligible
5
5
  params[:file] = File.new(file, 'rb') if file.is_a?(String)
6
6
  end
7
7
 
8
- def self.post(params, api_key = nil)
8
+ def self.post(params, opts = {})
9
9
  setup_file(params)
10
- send_request(:post, '/card_scans.json', api_key, params)
10
+ send_request :post, '/card_scans.json', params, opts
11
11
  end
12
12
 
13
13
  private_class_method :setup_file
@@ -5,8 +5,8 @@ module Eligible
5
5
  "/enrollment_npis/#{enrollment_npi_id}/original_signature_pdf"
6
6
  end
7
7
 
8
- def self.get(params, api_key = nil)
9
- send_request(:get, original_signature_pdf_url(params), api_key, params, :enrollment_npi_id)
8
+ def self.get(params, opts = {})
9
+ send_request :get, original_signature_pdf_url(params), params, opts.merge(required_params: [:enrollment_npi_id])
10
10
  end
11
11
 
12
12
  def self.setup_file(params)
@@ -14,25 +14,27 @@ module Eligible
14
14
  params[:file] = File.new(file, 'rb') if file.is_a?(String)
15
15
  end
16
16
 
17
- def self.post(params, api_key = nil)
17
+ def self.post(params, opts = {})
18
18
  setup_file(params)
19
- send_request(:post, original_signature_pdf_url(params), api_key, params, :enrollment_npi_id)
19
+ send_request :post, original_signature_pdf_url(params), params, opts.merge(required_params: [:enrollment_npi_id])
20
20
  end
21
21
 
22
- def self.update(params, api_key = nil)
22
+ def self.update(params, opts = {})
23
23
  setup_file(params)
24
- send_request(:put, original_signature_pdf_url(params), api_key, params, :enrollment_npi_id)
24
+ send_request :put, original_signature_pdf_url(params), params, opts.merge(required_params: [:enrollment_npi_id])
25
25
  end
26
26
 
27
- def self.delete(params, api_key = nil)
28
- send_request(:delete, original_signature_pdf_url(params), api_key, params, :enrollment_npi_id)
27
+ def self.delete(params, opts = {})
28
+ send_request :delete, original_signature_pdf_url(params), params, opts.merge(required_params: [:enrollment_npi_id])
29
29
  end
30
30
 
31
- def self.download(params, api_key = nil)
31
+ def self.download(params, opts = {})
32
32
  enrollment_npi_id = Util.value(params, :enrollment_npi_id)
33
33
  require_param(enrollment_npi_id, 'Enrollment Npi id')
34
34
  params[:format] = 'x12'
35
- response = Eligible.request(:get, "/enrollment_npis/#{enrollment_npi_id}/original_signature_pdf/download", api_key, params)[0]
35
+ headers = opts.clone
36
+ api_key = headers.delete(:api_key)
37
+ response = Eligible.request(:get, "/enrollment_npis/#{enrollment_npi_id}/original_signature_pdf/download", api_key, params, headers)[0]
36
38
  filename = params[:filename] || '/tmp/original_signature_pdf.pdf'
37
39
  file = File.new(filename, 'w')
38
40
  file.write response
@@ -1,17 +1,17 @@
1
1
  module Eligible
2
2
  class Payer < APIResource
3
- def self.list(params, api_key = nil)
4
- send_request(:get, api_url('payers'), api_key, params)
3
+ def self.list(params, opts = {})
4
+ send_request :get, api_url('payers'), params, opts
5
5
  end
6
6
 
7
- def self.get(params, api_key = nil)
8
- send_request(:get, api_url('payers', params, :payer_id), api_key, params, :payer_id)
7
+ def self.get(params, opts = {})
8
+ send_request :get, api_url('payers', params, :payer_id), params, opts.merge(required_params: [:payer_id])
9
9
  end
10
10
 
11
- def self.search_options(params, api_key = nil)
11
+ def self.search_options(params, opts = {})
12
12
  payer_id = Util.value(params, :payer_id)
13
13
  url = payer_id.nil? ? '/payers/search_options' : "/payers/#{payer_id}/search_options"
14
- send_request(:get, url, api_key, params)
14
+ send_request :get, url, params, opts
15
15
  end
16
16
  end
17
17
  end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ class PayerMapping < APIResource
5
+ def self.mapper(params, opts = {})
6
+ send_request :post, '/payer_mapping/mapper', params, opts
7
+ end
8
+
9
+ def self.mapper_batch(params, opts = {})
10
+ send_request :post, '/payer_mapping/mapper/batch', params, opts
11
+ end
12
+
13
+ def self.search(params, opts = {})
14
+ send_request :post, '/payer_mapping/search', params, opts
15
+ end
16
+
17
+ def self.search_batch(params, opts = {})
18
+ send_request :post, '/payer_mapping/search/batch', params, opts
19
+ end
20
+
21
+ def self.normalize(params, opts = {})
22
+ send_request :post, '/payer_mapping/normalize', params, opts
23
+ end
24
+
25
+ def self.normalize_batch(params, opts = {})
26
+ send_request :post, '/payer_mapping/normalize/batch', params, opts
27
+ end
28
+
29
+ def self.normalize_cased(params, opts = {})
30
+ send_request :post, '/payer_mapping/normalize_cased', params, opts
31
+ end
32
+
33
+ def self.normalize_cased_batch(params, opts = {})
34
+ send_request :post, '/payer_mapping/normalize_cased/batch', params, opts
35
+ end
36
+ end
37
+ end
@@ -1,11 +1,11 @@
1
1
  module Eligible
2
2
  class Payment < APIResource
3
- def self.get(params, api_key = nil)
4
- send_request(:get, '/payment/status.json', api_key, params)
3
+ def self.get(params, opts = {})
4
+ send_request :get, '/payment/status.json', params, opts
5
5
  end
6
6
 
7
- def self.batch(params, api_key = nil)
8
- send_request(:get, '/batch/payment/status.json', api_key, params)
7
+ def self.batch(params, opts = {})
8
+ send_request :get, '/batch/payment/status.json', params, opts
9
9
  end
10
10
  end
11
11
  end
@@ -1,11 +1,11 @@
1
1
  module Eligible
2
2
  class PreauthResource < CoverageResource
3
- def self.inquiry(params, api_key = nil)
4
- get(params, api_key)
3
+ def self.inquiry(params, opts = {})
4
+ get(params, opts)
5
5
  end
6
6
 
7
- def self.create(params, api_key = nil)
8
- post(params, api_key)
7
+ def self.create(params, opts = {})
8
+ post(params, opts)
9
9
  end
10
10
  end
11
11
  end
@@ -1,7 +1,7 @@
1
1
  module Eligible
2
2
  class Precert < PreauthResource
3
- def self.require(params, api_key = nil)
4
- send_request(:get, '/precert/require.json', api_key, params)
3
+ def self.require(params, opts = {})
4
+ send_request :get, '/precert/require.json', params, opts
5
5
  end
6
6
 
7
7
  def self.get_uri
@@ -1,7 +1,7 @@
1
1
  module Eligible
2
2
  class ProviderModel < APIResource
3
- def self.get(params, api_key = nil)
4
- send_request(:get, '/provider_models.json', api_key, params)
3
+ def self.get(params, opts = {})
4
+ send_request :get, '/provider_models.json', params, opts
5
5
  end
6
6
  end
7
7
  end
@@ -2,21 +2,21 @@ require 'openssl'
2
2
 
3
3
  module Eligible
4
4
  class PublicKey < APIResource
5
- def self.get(params, api_key = nil)
6
- send_request(:get, api_url('public_keys', params, :key_id), api_key, params, :key_id)
5
+ def self.get(params, opts = {})
6
+ send_request :get, api_url('public_keys', params, :key_id), params, opts.merge(required_params: [:key_id])
7
7
  end
8
8
 
9
- def self.post(params, api_key = nil)
10
- send_request(:post, api_url('public_keys'), api_key, params)
9
+ def self.post(params, opts = {})
10
+ send_request :post, api_url('public_keys'), params, opts
11
11
  end
12
12
 
13
- def self.activate(params, api_key = nil)
13
+ def self.activate(params, opts = {})
14
14
  key_id = Util.value(params, :key_id)
15
- send_request(:get, "/public_keys/#{key_id}/activate.json", api_key, params, :key_id)
15
+ send_request :get, "/public_keys/#{key_id}/activate.json", params, opts.merge(required_params: [:key_id])
16
16
  end
17
17
 
18
- def self.all(params, api_key = nil)
19
- send_request(:get, api_url('public_keys'), api_key, params)
18
+ def self.all(params, opts = {})
19
+ send_request :get, api_url('public_keys'), params, opts
20
20
  end
21
21
 
22
22
  def self.create_pair
@@ -5,15 +5,17 @@ module Eligible
5
5
  "/enrollment_npis/#{enrollment_npi_id}/received_pdf"
6
6
  end
7
7
 
8
- def self.get(params, api_key = nil)
9
- send_request(:get, received_pdf_url(params), api_key, params, :enrollment_npi_id)
8
+ def self.get(params, opts = {})
9
+ send_request :get, received_pdf_url(params), params, opts.merge(required_params: [:enrollment_npi_id])
10
10
  end
11
11
 
12
- def self.download(params, api_key = nil)
12
+ def self.download(params, opts = {})
13
13
  enrollment_npi_id = Util.value(params, :enrollment_npi_id)
14
14
  require_param(enrollment_npi_id, 'Enrollment Npi id')
15
15
  params[:format] = 'x12'
16
- response = Eligible.request(:get, "/enrollment_npis/#{params[:enrollment_npi_id]}/received_pdf/download", api_key, params)[0]
16
+ headers = opts.clone
17
+ api_key = headers.delete(:api_key)
18
+ response = Eligible.request(:get, "/enrollment_npis/#{params[:enrollment_npi_id]}/received_pdf/download", api_key, params, headers)[0]
17
19
  filename = params[:filename] || '/tmp/received_pdf.pdf'
18
20
  file = File.new(filename, 'w')
19
21
  file.write response
@@ -1,15 +1,15 @@
1
1
  module Eligible
2
2
  class RiskAssessment < APIResource
3
- def self.criteria(params, api_key = nil)
4
- send_request(:get, '/risk_assessments/criteria.json', api_key, params)
3
+ def self.criteria(params, opts = {})
4
+ send_request :get, '/risk_assessments/criteria.json', params, opts
5
5
  end
6
6
 
7
- def self.cost_estimate(params, api_key = nil)
8
- send_request(:get, '/risk_assessments/cost_estimates.json', api_key, params)
7
+ def self.cost_estimate(params, opts = {})
8
+ send_request :get, '/risk_assessments/cost_estimates.json', params, opts
9
9
  end
10
10
 
11
- def self.fetch(params, api_key = nil)
12
- send_request(:get, '/risk_assessments/fetch.json', api_key, params)
11
+ def self.fetch(params, opts = {})
12
+ send_request :get, '/risk_assessments/fetch.json', params, opts
13
13
  end
14
14
  end
15
15
  end
@@ -1,11 +1,11 @@
1
1
  module Eligible
2
2
  class SessionToken < APIResource
3
- def self.create(params, api_key = nil)
4
- send_request(:post, '/session_tokens/create.json', api_key, params)
3
+ def self.create(params, opts = {})
4
+ send_request :post, '/session_tokens/create.json', params, opts
5
5
  end
6
6
 
7
- def self.revoke(params, api_key = nil)
8
- send_request(:post, '/session_tokens/revoke.json', api_key, params)
7
+ def self.revoke(params, opts = {})
8
+ send_request :post, '/session_tokens/revoke.json', params, opts
9
9
  end
10
10
  end
11
11
  end
@@ -13,28 +13,28 @@ module Eligible
13
13
  end
14
14
  end
15
15
 
16
- def self.create(params, api_key = nil)
17
- send_request(:post, ticket_url, api_key, params)
16
+ def self.create(params, opts = {})
17
+ send_request :post, ticket_url, params, opts
18
18
  end
19
19
 
20
- def self.comments(params, api_key = nil)
21
- send_request(:post, ticket_url(params, true), api_key, params, :id)
20
+ def self.comments(params, opts = {})
21
+ send_request :post, ticket_url(params, true), params, opts.merge(required_params: [:id])
22
22
  end
23
23
 
24
- def self.all(params, api_key = nil)
25
- send_request(:get, ticket_url, api_key, params)
24
+ def self.all(params, opts = {})
25
+ send_request :get, ticket_url, params, opts
26
26
  end
27
27
 
28
- def self.get(params, api_key = nil)
29
- send_request(:get, ticket_url(params), api_key, params, :id)
28
+ def self.get(params, opts = {})
29
+ send_request :get, ticket_url(params), params, opts.merge(required_params: [:id])
30
30
  end
31
31
 
32
- def self.delete(params, api_key = nil)
33
- send_request(:delete, ticket_url(params), api_key, params, :id)
32
+ def self.delete(params, opts = {})
33
+ send_request :delete, ticket_url(params), params, opts.merge(required_params: [:id])
34
34
  end
35
35
 
36
- def self.update(params, api_key = nil)
37
- send_request(:put, ticket_url(params), api_key, params, :id)
36
+ def self.update(params, opts = {})
37
+ send_request :put, ticket_url(params), params, opts.merge(required_params: [:id])
38
38
  end
39
39
  end
40
40
  end
data/lib/eligible/util.rb CHANGED
@@ -55,11 +55,7 @@ module Eligible
55
55
  end
56
56
 
57
57
  def self.url_encode(key)
58
- begin
59
- URI.escape(key.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
60
- rescue
61
- URI.encode_www_form_component(key.to_s)
62
- end
58
+ URI.escape(key.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
63
59
  end
64
60
 
65
61
  def self.flatten_params(params, parent_key = nil)
@@ -1,3 +1,3 @@
1
1
  module Eligible
2
- VERSION = '2.9.17'.freeze
2
+ VERSION = '3.0.0.beta1'.freeze
3
3
  end
@@ -1,11 +1,11 @@
1
1
  module Eligible
2
2
  class VisitType < APIResource
3
- def self.list(params, api_key = nil)
4
- send_request(:get, '/visit_types.json', api_key, params)
3
+ def self.list(params, opts = {})
4
+ send_request :get, '/visit_types.json', params, opts
5
5
  end
6
6
 
7
- def self.insurance_company_ids(params, api_key = nil)
8
- send_request(:get, '/visit_types/insurance_company_ids.json', api_key, params)
7
+ def self.insurance_company_ids(params, opts = {})
8
+ send_request :get, '/visit_types/insurance_company_ids.json', params, opts
9
9
  end
10
10
  end
11
11
  end
data/lib/eligible/x12.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  module Eligible
2
2
  class X12 < APIResource
3
- def self.post(params, api_key = nil)
3
+ def self.post(params, opts = {})
4
4
  params[:format] = 'x12'
5
- send_request(:post, '/x12', api_key, params)
5
+ send_request :post, '/x12', params, opts
6
6
  end
7
7
  end
8
8
  end
data/lib/eligible.rb CHANGED
@@ -25,8 +25,10 @@ require 'eligible/ticket'
25
25
  require 'eligible/customer'
26
26
  require 'eligible/ocr'
27
27
  require 'eligible/original_signature_pdf'
28
+ require 'eligible/oauth_token'
28
29
  require 'eligible/received_pdf'
29
30
  require 'eligible/payer'
31
+ require 'eligible/payer_mapping'
30
32
  require 'eligible/preauth_resource'
31
33
  require 'eligible/precert'
32
34
  require 'eligible/referral'
@@ -51,16 +53,22 @@ module Eligible
51
53
  @@test = false
52
54
  @@api_version = '1.5'
53
55
  @@api_base = "https://gds.eligibleapi.com/v#{@@api_version}"
54
- @@fingerprints = %w(ad10dbfd536a0d054b02a7d30c11aa1eb5dbfb41
55
- 1fe04161ed657b55ac29a0c48da4cf246f8e657b
56
- 1a1b7d4faa43ecdeab40cc8d203583624d5917f4
57
- b4225ee59dc7ede4d68e7b2c75c6e6ac79649416
58
- 75132c1ab844500c6ad1f26b49c11d36933ce868)
56
+ @@fingerprints = %w(9df5f186fb20ad25ffd864942a6394840b02a480
57
+ a1cd762a9f4be0f3b6bdd6300e52c6ce8d7d67f5)
58
+ @@eligible_account = nil
59
59
 
60
60
  def self.api_url(url = '')
61
61
  @@api_base + url.to_s
62
62
  end
63
63
 
64
+ def self.eligible_account
65
+ @@eligible_account
66
+ end
67
+
68
+ def self.eligible_account=(eligible_account)
69
+ @@eligible_account = eligible_account
70
+ end
71
+
64
72
  def self.api_key
65
73
  @@api_key
66
74
  end
@@ -166,6 +174,7 @@ module Eligible
166
174
  }.merge(headers)
167
175
 
168
176
  headers[:eligible_version] = api_version if api_version
177
+ headers[:eligible_account] = eligible_account if eligible_account
169
178
 
170
179
  opts = {
171
180
  method: method,
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eligible
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.17
4
+ version: 3.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katelyn Gleaon
8
8
  - Rodrigo Dominguez
9
9
  - Aaron Bedra
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2025-01-20 00:00:00.000000000 Z
13
+ date: 2020-02-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rest-client
@@ -139,9 +139,11 @@ files:
139
139
  - lib/eligible/json.rb
140
140
  - lib/eligible/lockbox.rb
141
141
  - lib/eligible/medicare.rb
142
+ - lib/eligible/oauth_token.rb
142
143
  - lib/eligible/ocr.rb
143
144
  - lib/eligible/original_signature_pdf.rb
144
145
  - lib/eligible/payer.rb
146
+ - lib/eligible/payer_mapping.rb
145
147
  - lib/eligible/payment.rb
146
148
  - lib/eligible/preauth_resource.rb
147
149
  - lib/eligible/precert.rb
@@ -160,7 +162,7 @@ homepage: https://github.com/eligible/eligible-ruby
160
162
  licenses:
161
163
  - MIT
162
164
  metadata: {}
163
- post_install_message:
165
+ post_install_message:
164
166
  rdoc_options: []
165
167
  require_paths:
166
168
  - lib
@@ -171,12 +173,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
171
173
  version: '0'
172
174
  required_rubygems_version: !ruby/object:Gem::Requirement
173
175
  requirements:
174
- - - ">="
176
+ - - ">"
175
177
  - !ruby/object:Gem::Version
176
- version: '0'
178
+ version: 1.3.1
177
179
  requirements: []
178
- rubygems_version: 3.4.10
179
- signing_key:
180
+ rubyforge_project:
181
+ rubygems_version: 2.7.10
182
+ signing_key:
180
183
  specification_version: 4
181
184
  summary: Ruby wrapper for the Eligible API
182
185
  test_files: []