eligible 3.0.0 → 3.1.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +1 -0
  3. data/.gitignore +1 -0
  4. data/CHANGELOG.md +101 -11
  5. data/Gemfile +4 -0
  6. data/Gemfile.lock +13 -6
  7. data/README.md +51 -54
  8. data/eligible.gemspec +2 -1
  9. data/lib/eligible/api_resource.rb +27 -6
  10. data/lib/eligible/calculator_deploy_url.rb +2 -2
  11. data/lib/eligible/claim.rb +10 -10
  12. data/lib/eligible/coverage.rb +8 -4
  13. data/lib/eligible/coverage_resource.rb +4 -4
  14. data/lib/eligible/customer.rb +8 -8
  15. data/lib/eligible/encryptor.rb +1 -1
  16. data/lib/eligible/enrollment.rb +8 -8
  17. data/lib/eligible/errors/eligible_error.rb +2 -1
  18. data/lib/eligible/icd.rb +6 -6
  19. data/lib/eligible/lockbox.rb +6 -6
  20. data/lib/eligible/oauth_token.rb +9 -0
  21. data/lib/eligible/ocr.rb +2 -2
  22. data/lib/eligible/original_signature_pdf.rb +12 -10
  23. data/lib/eligible/payer.rb +6 -6
  24. data/lib/eligible/payer_mapping.rb +37 -0
  25. data/lib/eligible/payment.rb +4 -4
  26. data/lib/eligible/preauth_resource.rb +4 -4
  27. data/lib/eligible/precert.rb +2 -2
  28. data/lib/eligible/provider_model.rb +2 -2
  29. data/lib/eligible/public_key.rb +8 -8
  30. data/lib/eligible/received_pdf.rb +6 -4
  31. data/lib/eligible/risk_assessment.rb +6 -6
  32. data/lib/eligible/session_token.rb +4 -4
  33. data/lib/eligible/ticket.rb +12 -12
  34. data/lib/eligible/util.rb +2 -2
  35. data/lib/eligible/v1_0/action.rb +9 -0
  36. data/lib/eligible/v1_0/attribute.rb +9 -0
  37. data/lib/eligible/v1_0/balance_capture.rb +21 -0
  38. data/lib/eligible/v1_0/charge.rb +13 -0
  39. data/lib/eligible/v1_0/claim.rb +25 -0
  40. data/lib/eligible/v1_0/claim_service_line.rb +9 -0
  41. data/lib/eligible/v1_0/contract.rb +9 -0
  42. data/lib/eligible/v1_0/device.rb +9 -0
  43. data/lib/eligible/v1_0/discount.rb +9 -0
  44. data/lib/eligible/v1_0/enrollment.rb +17 -0
  45. data/lib/eligible/v1_0/estimate.rb +29 -0
  46. data/lib/eligible/v1_0/estimate_service_line.rb +17 -0
  47. data/lib/eligible/v1_0/fee.rb +21 -0
  48. data/lib/eligible/v1_0/fee_refund.rb +29 -0
  49. data/lib/eligible/v1_0/file.rb +17 -0
  50. data/lib/eligible/v1_0/file_link.rb +13 -0
  51. data/lib/eligible/v1_0/insurance_company.rb +21 -0
  52. data/lib/eligible/v1_0/insurance_company_alias.rb +9 -0
  53. data/lib/eligible/v1_0/insurance_policy.rb +9 -0
  54. data/lib/eligible/v1_0/patient_question.rb +9 -0
  55. data/lib/eligible/v1_0/patient_questionnaire.rb +9 -0
  56. data/lib/eligible/v1_0/patient_record.rb +9 -0
  57. data/lib/eligible/v1_0/patient_statement.rb +59 -0
  58. data/lib/eligible/v1_0/patient_statement_service_line.rb +13 -0
  59. data/lib/eligible/v1_0/payment_report.rb +21 -0
  60. data/lib/eligible/v1_0/product.rb +9 -0
  61. data/lib/eligible/v1_0/provider.rb +9 -0
  62. data/lib/eligible/v1_0/refund.rb +21 -0
  63. data/lib/eligible/v1_0/remark.rb +21 -0
  64. data/lib/eligible/v1_0/rest_api_base.rb +44 -0
  65. data/lib/eligible/v1_0/rule.rb +13 -0
  66. data/lib/eligible/v1_0/session.rb +21 -0
  67. data/lib/eligible/v1_0/transaction.rb +21 -0
  68. data/lib/eligible/v1_0/treatment.rb +9 -0
  69. data/lib/eligible/v1_0/value_list.rb +9 -0
  70. data/lib/eligible/v1_0/value_list_item.rb +9 -0
  71. data/lib/eligible/v1_0/verification.rb +17 -0
  72. data/lib/eligible/version.rb +1 -1
  73. data/lib/eligible/visit_type.rb +4 -4
  74. data/lib/eligible/x12.rb +2 -2
  75. data/lib/eligible.rb +150 -38
  76. metadata +47 -8
@@ -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", 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
@@ -75,13 +75,13 @@ module Eligible
75
75
 
76
76
  def self.flatten_params_array(value, calculated_key)
77
77
  result = []
78
- value.each_with_index do |elem, index|
78
+ value.each do |elem|
79
79
  if elem.is_a?(Hash)
80
80
  result += flatten_params(elem, "#{calculated_key}[]")
81
81
  elsif elem.is_a?(Array)
82
82
  result += flatten_params_array(elem, calculated_key)
83
83
  else
84
- result << ["#{calculated_key}[#{index}]", elem]
84
+ result << ["#{calculated_key}[]", elem]
85
85
  end
86
86
  end
87
87
  result
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class Action < RestAPIBase
6
+ ENDPOINT_NAME = 'rules/actions'.freeze
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class Attribute < RestAPIBase
6
+ ENDPOINT_NAME = 'rules/attributes'.freeze
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class BalanceCapture < RestAPIBase
6
+ ENDPOINT_NAME = 'balance_captures'.freeze
7
+
8
+ def self.create(_params, _opts = {})
9
+ fail NotImplementedError, "Not an allowed operation for this endpoint"
10
+ end
11
+
12
+ def self.update(_params, _opts = {})
13
+ fail NotImplementedError, "Not an allowed operation for this endpoint"
14
+ end
15
+
16
+ def self.delete(_params, _opts = {})
17
+ fail NotImplementedError, "Not an allowed operation for this endpoint"
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class Charge < RestAPIBase
6
+ ENDPOINT_NAME = 'charges'.freeze
7
+
8
+ def self.delete(_params, _opts = {})
9
+ fail NotImplementedError, "Not an allowed operation for this endpoint"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class Claim < RestAPIBase
6
+ ENDPOINT_NAME = 'claims'.freeze
7
+
8
+ def self.delete(_params, _opts = {})
9
+ fail NotImplementedError, "Not an allowed operation for this endpoint"
10
+ end
11
+
12
+ def self.submit(id, opts = {})
13
+ send_request :post, "/#{endpoint_name}/#{object_id(id)}/submit", rest_api_params(id), **opts.merge(required_params: [:id])
14
+ end
15
+
16
+ def self.correct(id, opts = {})
17
+ send_request :post, "/#{endpoint_name}/#{object_id(id)}/correct", rest_api_params(id), **opts.merge(required_params: [:id])
18
+ end
19
+
20
+ def self.cancel(id, opts = {})
21
+ send_request :delete, "/#{endpoint_name}/#{object_id(id)}/cancel", rest_api_params(id), **opts.merge(required_params: [:id])
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class ClaimServiceLine < RestAPIBase
6
+ ENDPOINT_NAME = 'claim_service_lines'.freeze
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class Contract < RestAPIBase
6
+ ENDPOINT_NAME = 'contracts'.freeze
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class Device < RestAPIBase
6
+ ENDPOINT_NAME = 'devices'.freeze
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class Discount < RestAPIBase
6
+ ENDPOINT_NAME = 'discounts'.freeze
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class Enrollment < RestAPIBase
6
+ ENDPOINT_NAME = 'enrollments'.freeze
7
+
8
+ def self.summary(params, opts = {})
9
+ send_request :get, "/#{endpoint_name}/summary", rest_api_params(params), **opts
10
+ end
11
+
12
+ def self.escalate(id, opts = {})
13
+ send_request :post, "/#{endpoint_name}/#{object_id(id)}/escalate", rest_api_params(id), **opts.merge(required_params: [:id])
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class Estimate < RestAPIBase
6
+ ENDPOINT_NAME = 'estimates'.freeze
7
+
8
+ def self.process(id, opts = {})
9
+ send_request :post, "/#{endpoint_name}/#{object_id(id)}/process", rest_api_params(id), **opts.merge(required_params: [:id])
10
+ end
11
+
12
+ def self.reestimate(id, opts = {})
13
+ send_request :post, "/#{endpoint_name}/#{object_id(id)}/reestimate", rest_api_params(id), **opts.merge(required_params: [:id])
14
+ end
15
+
16
+ def self.convert(id, opts = {})
17
+ send_request :post, "/#{endpoint_name}/#{object_id(id)}/convert", rest_api_params(id), **opts.merge(required_params: [:id])
18
+ end
19
+
20
+ def self.update(_params, _opts = {})
21
+ fail NotImplementedError, "Not an allowed operation for this endpoint"
22
+ end
23
+
24
+ def self.delete(_params, _opts = {})
25
+ fail NotImplementedError, "Not an allowed operation for this endpoint"
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Eligible
4
+ module V1_0
5
+ class EstimateServiceLine < RestAPIBase
6
+ ENDPOINT_NAME = 'estimate_service_lines'.freeze
7
+ end
8
+
9
+ def self.update(_params, _opts = {})
10
+ fail NotImplementedError, "Not an allowed operation for this endpoint"
11
+ end
12
+
13
+ def self.delete(_params, _opts = {})
14
+ fail NotImplementedError, "Not an allowed operation for this endpoint"
15
+ end
16
+ end
17
+ end