From 790db2b1d14258df395cecc192c7b8a8e31fb91f Mon Sep 17 00:00:00 2001 From: Diego Moreno Date: Tue, 4 Oct 2022 18:23:39 -0400 Subject: [PATCH 1/8] Add put action to client --- lib/hyperwallet/api/client.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/hyperwallet/api/client.rb b/lib/hyperwallet/api/client.rb index fa58c5b..2f42353 100644 --- a/lib/hyperwallet/api/client.rb +++ b/lib/hyperwallet/api/client.rb @@ -26,6 +26,15 @@ def post(resource:, payload: nil) handle_response end + def put(resource:, payload: nil) + @previous_payload = payload + self.response = conn.put do |request| + request.url resource + request.body = payload + end + handle_response + end + private def handle_response From 98246085d25066c907207520ac88acf9f80fead8 Mon Sep 17 00:00:00 2001 From: Diego Moreno Date: Thu, 6 Oct 2022 18:17:33 -0400 Subject: [PATCH 2/8] Rubocop offenses in client.rb --- lib/hyperwallet/api/client.rb | 132 ++++++++++++++++++---------------- 1 file changed, 69 insertions(+), 63 deletions(-) diff --git a/lib/hyperwallet/api/client.rb b/lib/hyperwallet/api/client.rb index 2f42353..a8f1cd4 100644 --- a/lib/hyperwallet/api/client.rb +++ b/lib/hyperwallet/api/client.rb @@ -1,78 +1,84 @@ +# frozen_string_literal: true + require 'faraday' -class Hyperwallet::Api::Client < Hyperwallet::Api::Config +module Hyperwallet + module Api + # Client configuration and functionalities class + class Client < Hyperwallet::Api::Config + attr_accessor :client_id, :conn, :response, :body, :errors, :previous_payload - attr_accessor :client_id, :conn, :response, :body, :errors, :previous_payload + def initialize + # @client_id = client_id + @conn = connector + add_headers + end - def initialize - # @client_id = client_id - @conn = get_connector - add_headers - end + def get(resource:) + self.response = conn.get do |request| + request.url resource + end + handle_response + end - def get(resource:) - self.response = conn.get do |request| - request.url resource - end - handle_response - end + def post(resource:, payload: nil) + @previous_payload = payload + self.response = conn.post do |request| + request.url resource + request.body = payload + end + handle_response + end - def post(resource:, payload: nil) - @previous_payload = payload - self.response = conn.post do |request| - request.url resource - request.body = payload - end - handle_response - end + def put(resource:, payload: nil) + @previous_payload = payload + self.response = conn.put do |request| + request.url resource + request.body = payload + end + handle_response + end - def put(resource:, payload: nil) - @previous_payload = payload - self.response = conn.put do |request| - request.url resource - request.body = payload - end - handle_response - end + private - private + def handle_response + if response.success? + @body = JSON.parse(response.body) unless response.body.empty? + else + @errors = JSON.parse(response.body) + end + end - def handle_response - if self.response.success? - @body = JSON.parse(self.response.body) unless self.response.body.empty? - else - @errors = JSON.parse(self.response.body) - end - end + def connector + Faraday.new(url: base_url, proxy: self.class.superclass.proxy) do |conn| + conn.adapter :net_http + conn.basic_auth(self.class.superclass.api_user, self.class.superclass.api_password) + end + end - def get_connector - Faraday.new(url: base_url, proxy: self.class.superclass.proxy) do |conn| - conn.adapter :net_http - conn.basic_auth(self.class.superclass.api_user, self.class.superclass.api_password) - end - end + def request_url_for(resource) + "#{base_url}/#{resource}" + end - def request_url_for(resource) - base_url + "/" + resource - end + def base_url + active_url + API_VERSION + end - def base_url - active_url + API_VERSION - end + def active_url + if self.class.superclass.uat? + UAT_URL + elsif self.class.superclass.production? + PRODUCTION_URL + end + end - def active_url - if self.class.superclass.uat? - UAT_URL - elsif self.class.superclass.production? - PRODUCTION_URL + def add_headers + conn.headers.merge!( + { + 'Content-Type' => 'application/json' + } + ) + end end end - - def add_headers - conn.headers.merge!( - { - 'Content-Type'=> "application/json" - } - ) - end -end \ No newline at end of file +end From ceaf1459eb682be6a07e5015de49f14e23693bfb Mon Sep 17 00:00:00 2001 From: Diego Moreno Date: Thu, 6 Oct 2022 18:43:50 -0400 Subject: [PATCH 3/8] Update action enhancements --- lib/hyperwallet/resources/payee.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/hyperwallet/resources/payee.rb b/lib/hyperwallet/resources/payee.rb index 93b1b36..8956a6d 100644 --- a/lib/hyperwallet/resources/payee.rb +++ b/lib/hyperwallet/resources/payee.rb @@ -29,7 +29,8 @@ def show(token: nil) handle_response end - def update(token:, attributes_to_update: ) + def update(token: nil, attributes_to_update:) + token ||= @token connector.put(resource: ENDPOINT + "/" + token, payload: JSON.generate(prepare_payload(payload_attributes: attributes_to_update))) handle_response end From beed692b2e3f9d36a7582848e119c5739c437286 Mon Sep 17 00:00:00 2001 From: Diego Moreno Date: Thu, 6 Oct 2022 19:12:25 -0400 Subject: [PATCH 4/8] Language on payee#update attributes --- lib/hyperwallet/resources/payee.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/hyperwallet/resources/payee.rb b/lib/hyperwallet/resources/payee.rb index 8956a6d..a1392ba 100644 --- a/lib/hyperwallet/resources/payee.rb +++ b/lib/hyperwallet/resources/payee.rb @@ -29,9 +29,9 @@ def show(token: nil) handle_response end - def update(token: nil, attributes_to_update:) + def update(attributes:, token: nil) token ||= @token - connector.put(resource: ENDPOINT + "/" + token, payload: JSON.generate(prepare_payload(payload_attributes: attributes_to_update))) + connector.put(resource: ENDPOINT + "/" + token, payload: JSON.generate(prepare_payload(payload_attributes: attributes))) handle_response end From 48abfaaed57758e8722aa94180fb2e630be0d4a8 Mon Sep 17 00:00:00 2001 From: Diego Moreno Date: Thu, 6 Oct 2022 19:31:32 -0400 Subject: [PATCH 5/8] Add update action to ReadMe --- README.md | 54 +++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index ad2364d..98089b1 100644 --- a/README.md +++ b/README.md @@ -49,30 +49,54 @@ Everyone interacting in the Hyperwallet::Ruby project’s codebases, issue track payees = payee_connector.index ``` -#### create +#### Create ```ruby - payload2 = {:client_user_id => 'test5userid5', - :profile_type => 'INDIVIDUAL' , - :first_name => 'Han', - :last_name => 'Solo' , - :date_of_birth => '1980-11-12', - :email => 'jgtr7@hey.com', - :address_line1 => '675 Dolores St', - :city => 'Berkeley' , - :state_province => 'CA' , - :country => 'US', - :postal_code => '94704', - :program_token => 'prg-1bd466b5-2a58-4e3a-8942-6a93591a9a86' } + payload = { + :client_user_id => 'test5userid5', + :profile_type => 'INDIVIDUAL' , + :first_name => 'Han', + :last_name => 'Solo', + :date_of_birth => '1980-11-12', + :email => 'jgtr7@hey.com', + :address_line1 => '675 Dolores St', + :city => 'Berkeley', + :state_province => 'CA', + :country => 'US', + :postal_code => '94704', + :program_token => 'prg-1bd466b5-2a58-4e3a-8942-6a93591a9a86' + } - new_payee2 = Hyperwallet::Resources::Payee.create(payload2) + new_payee2 = Hyperwallet::Resources::Payee.create(payload) ``` -#### show +#### Show ```ruby user_token = "usr-6ac6618e-44fe-4252-af8c-76cd4e68f601" payee = Hyperwallet::Resources::Payee.new payee.show(token: user_token) ``` +#### Update +```ruby + user_token = "usr-6ac6618e-44fe-4252-af8c-76cd4e68f601" + existing_payee = Hyperwallet::Resources::Payee.new(token: user_token) + + payload = { + :client_user_id => 'test5userid5', + :profile_type => 'INDIVIDUAL' , + :first_name => 'Han', + :last_name => 'Solo', + :date_of_birth => '1980-11-12', + :email => 'jgtr7@hey.com', + :address_line1 => '675 Dolores St', + :city => 'Berkeley', + :state_province => 'CA', + :country => 'US', + :postal_code => '94704', + :program_token => 'prg-1bd466b5-2a58-4e3a-8942-6a93591a9a86' + } + + existing_payee.update(attributes: payload) +``` #### Getting a new auth token ```ruby user_token = "usr-6ac6618e-44fe-4252-af8c-76cd4e68f601" From 54f14d4d59034f4d0fa7c4be51ed2f8c2734fe35 Mon Sep 17 00:00:00 2001 From: Diego Moreno Date: Thu, 6 Oct 2022 19:32:37 -0400 Subject: [PATCH 6/8] Update language in ReadMe --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 98089b1..31108ff 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ Everyone interacting in the Hyperwallet::Ruby project’s codebases, issue track #### Update ```ruby user_token = "usr-6ac6618e-44fe-4252-af8c-76cd4e68f601" - existing_payee = Hyperwallet::Resources::Payee.new(token: user_token) + payee = Hyperwallet::Resources::Payee.new(token: user_token) payload = { :client_user_id => 'test5userid5', @@ -95,19 +95,19 @@ Everyone interacting in the Hyperwallet::Ruby project’s codebases, issue track :program_token => 'prg-1bd466b5-2a58-4e3a-8942-6a93591a9a86' } - existing_payee.update(attributes: payload) + payee.update(attributes: payload) ``` #### Getting a new auth token ```ruby user_token = "usr-6ac6618e-44fe-4252-af8c-76cd4e68f601" - existing_payee = Hyperwallet::Resources::Payee.new(token: user_token) - token = existing_payee.get_authentication_token + payee = Hyperwallet::Resources::Payee.new(token: user_token) + token = payee.get_authentication_token ``` #### Getting the list of bank accounts for a user ```ruby user_token = "usr-6ac6618e-44fe-4252-af8c-76cd4e68f601" - existing_payee = Hyperwallet::Resources::Payee.new(token: user_token) - bank_accounts = existing_payee.index_bank_accounts + payee = Hyperwallet::Resources::Payee.new(token: user_token) + bank_accounts = payee.index_bank_accounts ``` ### Transfer Methods #### Getting transfer methods From d6fe0269bffd7e9cd761e066112b453e4d076c79 Mon Sep 17 00:00:00 2001 From: Diego Moreno Date: Mon, 10 Oct 2022 12:03:55 -0400 Subject: [PATCH 7/8] ReadMe changes --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 31108ff..c98b425 100644 --- a/README.md +++ b/README.md @@ -72,8 +72,8 @@ Everyone interacting in the Hyperwallet::Ruby project’s codebases, issue track #### Show ```ruby user_token = "usr-6ac6618e-44fe-4252-af8c-76cd4e68f601" - payee = Hyperwallet::Resources::Payee.new - payee.show(token: user_token) + payee = Hyperwallet::Resources::Payee.new(token: user_token) + payee.show ``` #### Update ```ruby From be9ca3d27da32dd77b006194995b5042e0231ae8 Mon Sep 17 00:00:00 2001 From: Diego Moreno <42248810+damdl96@users.noreply.github.com> Date: Tue, 18 Oct 2022 14:32:59 -0500 Subject: [PATCH 8/8] Update lib/hyperwallet/api/client.rb Co-authored-by: Sergio-e <33036058+Sergio-e@users.noreply.github.com> --- lib/hyperwallet/api/client.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/hyperwallet/api/client.rb b/lib/hyperwallet/api/client.rb index a8f1cd4..d98e648 100644 --- a/lib/hyperwallet/api/client.rb +++ b/lib/hyperwallet/api/client.rb @@ -9,7 +9,6 @@ class Client < Hyperwallet::Api::Config attr_accessor :client_id, :conn, :response, :body, :errors, :previous_payload def initialize - # @client_id = client_id @conn = connector add_headers end