Class: Veryfi::Api::BankStatement
- Inherits:
-
Object
- Object
- Veryfi::Api::BankStatement
- Includes:
- FilePayload, TagOperations
- Defined in:
- lib/veryfi/api/bank_statement.rb
Overview
Bank Statements endpoints (/partner/bank-statements/).
Constant Summary collapse
- ENDPOINT =
"/partner/bank-statements/"- ASYNC_ENDPOINT =
"/partner/bank-statements/async"
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
Instance Method Summary collapse
-
#all(params = {}) ⇒ Veryfi::Resource
List previously processed bank statements.
-
#delete(id) ⇒ Veryfi::Resource
Delete a bank statement.
-
#get(id, params = {}) ⇒ Veryfi::Resource
Fetch a single bank statement by id.
-
#initialize(request) ⇒ BankStatement
constructor
A new instance of BankStatement.
-
#process(raw_params) ⇒ Veryfi::Resource
Upload a file and extract bank-statement data.
-
#process_async(raw_params) ⇒ Object
Async variant of #process — returns immediately while Veryfi extracts the data in the background.
-
#process_url(raw_params) ⇒ Veryfi::Resource
URL variant of #process.
-
#process_url_async(raw_params) ⇒ Object
Async variant of #process_url.
-
#update(id, params) ⇒ Veryfi::Resource
Update writable fields on a processed bank statement.
Methods included from TagOperations
#add_tag, #add_tags, #delete_tag, #delete_tags, #tags
Constructor Details
#initialize(request) ⇒ BankStatement
Returns a new instance of BankStatement.
17 18 19 |
# File 'lib/veryfi/api/bank_statement.rb', line 17 def initialize(request) @request = request end |
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
15 16 17 |
# File 'lib/veryfi/api/bank_statement.rb', line 15 def request @request end |
Instance Method Details
#all(params = {}) ⇒ Veryfi::Resource
List previously processed bank statements.
31 32 33 |
# File 'lib/veryfi/api/bank_statement.rb', line 31 def all(params = {}) request.get(ENDPOINT, params) end |
#delete(id) ⇒ Veryfi::Resource
Delete a bank statement.
109 110 111 |
# File 'lib/veryfi/api/bank_statement.rb', line 109 def delete(id) request.delete("#{ENDPOINT}#{id}/") end |
#get(id, params = {}) ⇒ Veryfi::Resource
Fetch a single bank statement by id.
40 41 42 |
# File 'lib/veryfi/api/bank_statement.rb', line 40 def get(id, params = {}) request.get("#{ENDPOINT}#{id}/", params) end |
#process(raw_params) ⇒ Veryfi::Resource
Upload a file and extract bank-statement data.
52 53 54 55 56 57 58 59 60 |
# File 'lib/veryfi/api/bank_statement.rb', line 52 def process(raw_params) params = raw_params.transform_keys(&:to_sym) file_path = params.delete(:file_path) file_name = params.delete(:file_name) payload = file_payload(file_path, file_name).merge(params) request.post(ENDPOINT, payload) end |
#process_async(raw_params) ⇒ Object
Async variant of #process — returns immediately while Veryfi extracts the data in the background.
78 79 80 81 82 83 84 85 86 |
# File 'lib/veryfi/api/bank_statement.rb', line 78 def process_async(raw_params) params = raw_params.transform_keys(&:to_sym) file_path = params.delete(:file_path) file_name = params.delete(:file_name) payload = file_payload(file_path, file_name).merge(params) request.post(ASYNC_ENDPOINT, payload) end |
#process_url(raw_params) ⇒ Veryfi::Resource
URL variant of #process.
69 70 71 72 73 74 |
# File 'lib/veryfi/api/bank_statement.rb', line 69 def process_url(raw_params) params = raw_params.transform_keys(&:to_sym) params[:file_name] ||= File.basename(params[:file_url]) if params[:file_url] request.post(ENDPOINT, params) end |
#process_url_async(raw_params) ⇒ Object
Async variant of #process_url.
89 90 91 92 93 94 |
# File 'lib/veryfi/api/bank_statement.rb', line 89 def process_url_async(raw_params) params = raw_params.transform_keys(&:to_sym) params[:file_name] ||= File.basename(params[:file_url]) if params[:file_url] request.post(ASYNC_ENDPOINT, params) end |
#update(id, params) ⇒ Veryfi::Resource
Update writable fields on a processed bank statement.
101 102 103 |
# File 'lib/veryfi/api/bank_statement.rb', line 101 def update(id, params) request.put("#{ENDPOINT}#{id}/", params) end |