Class: Veryfi::Api::W2
- Inherits:
-
Object
- Object
- Veryfi::Api::W2
- Includes:
- FilePayload, TagOperations
- Defined in:
- lib/veryfi/api/w2.rb
Overview
W-2 endpoints (/partner/w2s/).
Constant Summary collapse
- ENDPOINT =
"/partner/w2s/"
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
Instance Method Summary collapse
-
#all(params = {}) ⇒ Veryfi::Resource
List previously processed W-2 documents.
-
#delete(id) ⇒ Veryfi::Resource
Delete a W-2.
-
#get(id, params = {}) ⇒ Veryfi::Resource
Fetch a single W-2 by id.
-
#initialize(request) ⇒ W2
constructor
A new instance of W2.
-
#process(raw_params) ⇒ Veryfi::Resource
Upload a W-2 file and extract its fields.
-
#process_url(raw_params) ⇒ Veryfi::Resource
URL variant of #process.
-
#update(id, params) ⇒ Veryfi::Resource
Update writable fields on a processed W-2.
Methods included from TagOperations
#add_tag, #add_tags, #delete_tag, #delete_tags, #tags
Constructor Details
#initialize(request) ⇒ W2
Returns a new instance of W2.
16 17 18 |
# File 'lib/veryfi/api/w2.rb', line 16 def initialize(request) @request = request end |
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
14 15 16 |
# File 'lib/veryfi/api/w2.rb', line 14 def request @request end |
Instance Method Details
#all(params = {}) ⇒ Veryfi::Resource
List previously processed W-2 documents.
30 31 32 |
# File 'lib/veryfi/api/w2.rb', line 30 def all(params = {}) request.get(ENDPOINT, params) end |
#delete(id) ⇒ Veryfi::Resource
Delete a W-2.
85 86 87 |
# File 'lib/veryfi/api/w2.rb', line 85 def delete(id) request.delete("#{ENDPOINT}#{id}/") end |
#get(id, params = {}) ⇒ Veryfi::Resource
Fetch a single W-2 by id.
39 40 41 |
# File 'lib/veryfi/api/w2.rb', line 39 def get(id, params = {}) request.get("#{ENDPOINT}#{id}/", params) end |
#process(raw_params) ⇒ Veryfi::Resource
Upload a W-2 file and extract its fields.
49 50 51 52 53 54 55 56 57 |
# File 'lib/veryfi/api/w2.rb', line 49 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_url(raw_params) ⇒ Veryfi::Resource
URL variant of #process.
65 66 67 68 69 70 |
# File 'lib/veryfi/api/w2.rb', line 65 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 |
#update(id, params) ⇒ Veryfi::Resource
Update writable fields on a processed W-2.
77 78 79 |
# File 'lib/veryfi/api/w2.rb', line 77 def update(id, params) request.put("#{ENDPOINT}#{id}/", params) end |