Class: Vpago::PayoutProfiles::Payway::BasePayoutProfileRequest

Inherits:
Object
  • Object
show all
Defined in:
app/services/vpago/payout_profiles/payway/base_payout_profile_request.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(profile) ⇒ BasePayoutProfileRequest

Returns a new instance of BasePayoutProfileRequest.



12
13
14
15
16
# File 'app/services/vpago/payout_profiles/payway/base_payout_profile_request.rb', line 12

def initialize(profile)
  @base_url = profile.preferred_base_url
  @profile = profile
  @error_messages = []
end

Instance Attribute Details

#base_urlObject (readonly)

Returns the value of attribute base_url.



7
8
9
# File 'app/services/vpago/payout_profiles/payway/base_payout_profile_request.rb', line 7

def base_url
  @base_url
end

#error_messagesObject (readonly)

Returns the value of attribute error_messages.



7
8
9
# File 'app/services/vpago/payout_profiles/payway/base_payout_profile_request.rb', line 7

def error_messages
  @error_messages
end

#profileObject (readonly)

Returns the value of attribute profile.



7
8
9
# File 'app/services/vpago/payout_profiles/payway/base_payout_profile_request.rb', line 7

def profile
  @profile
end

Instance Method Details

#connectionObject



18
19
20
# File 'app/services/vpago/payout_profiles/payway/base_payout_profile_request.rb', line 18

def connection
  Faraday::Connection.new(url: base_url)
end

#request_pathObject

to be override



10
# File 'app/services/vpago/payout_profiles/payway/base_payout_profile_request.rb', line 10

def request_path; end

#request_to_paywayObject



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/services/vpago/payout_profiles/payway/base_payout_profile_request.rb', line 22

def request_to_payway
  response = connection.post(request_path) do |request|
    request.headers['language'] = 'en'
    request.headers['Content-Type'] = 'application/json'
    request.body = PayoutProfileRequestParamsBuilder.new(Date.current, profile).request_params.to_json
  end

  json_response = JSON.parse(response.body)

  @error_messages << response.body if json_response.nil? || json_response['status'].nil?

  json_response
end