genesis_ruby 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +11 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +158 -0
- data/LICENSE +21 -0
- data/README.md +343 -0
- data/Rakefile +12 -0
- data/VERSION +1 -0
- data/genesis_ruby.gemspec +43 -0
- data/lib/genesis_ruby/api/constants/currencies/iso4217.rb +1106 -0
- data/lib/genesis_ruby/api/constants/date_time_formats.rb +45 -0
- data/lib/genesis_ruby/api/constants/endpoints.rb +18 -0
- data/lib/genesis_ruby/api/constants/environments.rb +17 -0
- data/lib/genesis_ruby/api/constants/states/state.rb +43 -0
- data/lib/genesis_ruby/api/constants/states.rb +86 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/business/payment_types.rb +24 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/categories.rb +24 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/recurring/types.rb +28 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/sca_exemptions.rb +34 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/browser/color_depths.rb +46 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/password_change_indicators.rb +37 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/registration_indicators.rb +37 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/shipping_address_usage_indicators.rb +34 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/suspicious_activity_indicators.rb +28 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/card_holder_account/update_indicators.rb +34 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_indicators.rb +34 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/challenge_window_sizes.rb +37 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/control/device_types.rb +28 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/delivery_timeframes.rb +34 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/pre_order_purchase_indicators.rb +28 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/reorder_item_indicators.rb +28 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/merchant_risk/shipping_indicators.rb +46 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/purchase/categories.rb +43 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/interfaces.rb +31 -0
- data/lib/genesis_ruby/api/constants/transactions/parameters/threeds/version2/sdk/ui_types.rb +37 -0
- data/lib/genesis_ruby/api/constants/transactions.rb +371 -0
- data/lib/genesis_ruby/api/mixins/constants/common.rb +27 -0
- data/lib/genesis_ruby/api/mixins/requests/address_info_attributes.rb +20 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/billing_info_attributes.rb +33 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/customer_info_attributes.rb +26 -0
- data/lib/genesis_ruby/api/mixins/requests/customer_address/shipping_info_attributes.rb +33 -0
- data/lib/genesis_ruby/api/mixins/requests/document_attributes.rb +14 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/async_attributes.rb +34 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/base_attributes.rb +16 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/airlines_air_carriers_attributes.rb +60 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/business_attributes.rb +56 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/car_plane_and_boat_rentals_attributes.rb +53 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/cruise_lines_attributes.rb +50 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/event_management_attributes.rb +54 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/furniture_attributes.rb +53 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/hotels_and_real_estate_rentals_attributes.rb +53 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/business/travel_agencies_attributes.rb +88 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/credit_card_attributes.rb +31 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/fx_rate_attributes.rb +18 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_category_attributes.rb +31 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_type_attributes.rb +31 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/cards/tokenization_attributes.rb +39 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/crypto_attributes.rb +25 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/dynamic_descriptor_attributes.rb +114 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/gaming_attributes.rb +25 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/moto_attributes.rb +25 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/notification_attributes.rb +25 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/payment_attributes.rb +32 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/pending_payment_attributes.rb +25 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/reference_attributes.rb +16 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/risk_attributes.rb +47 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/sca_attributes.rb +37 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/browser.rb +92 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/card_holder_account.rb +183 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/common_attributes.rb +52 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/control.rb +61 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/merchant_risk.rb +114 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/method.rb +44 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/purchase.rb +42 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/recurring.rb +49 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/sdk.rb +107 -0
- data/lib/genesis_ruby/api/mixins/requests/financial/threeds/version2/wpf_attributes.rb +61 -0
- data/lib/genesis_ruby/api/mixins/requests/restricted_setter.rb +75 -0
- data/lib/genesis_ruby/api/request.rb +171 -0
- data/lib/genesis_ruby/api/requests/base/financial.rb +44 -0
- data/lib/genesis_ruby/api/requests/base/financials/credit_card.rb +27 -0
- data/lib/genesis_ruby/api/requests/financial/cards/authorize.rb +60 -0
- data/lib/genesis_ruby/api/requests/financial/cards/authorize3d.rb +76 -0
- data/lib/genesis_ruby/api/requests/financial/cards/sale.rb +59 -0
- data/lib/genesis_ruby/api/requests/financial/cards/sale3d.rb +75 -0
- data/lib/genesis_ruby/api/requests/wpf/create.rb +142 -0
- data/lib/genesis_ruby/api/response.rb +91 -0
- data/lib/genesis_ruby/builder.rb +42 -0
- data/lib/genesis_ruby/builders/base.rb +18 -0
- data/lib/genesis_ruby/builders/xml.rb +95 -0
- data/lib/genesis_ruby/configuration.rb +177 -0
- data/lib/genesis_ruby/connection.rb +20 -0
- data/lib/genesis_ruby/dependencies.rb +19 -0
- data/lib/genesis_ruby/errors/builder_error.rb +14 -0
- data/lib/genesis_ruby/errors/endpoint_not_set_error.rb +14 -0
- data/lib/genesis_ruby/errors/error.rb +18 -0
- data/lib/genesis_ruby/errors/invalid_argument_error.rb +14 -0
- data/lib/genesis_ruby/errors/network_error.rb +14 -0
- data/lib/genesis_ruby/errors/object_formatter_error.rb +14 -0
- data/lib/genesis_ruby/errors/parameter_error.rb +12 -0
- data/lib/genesis_ruby/errors/parser_error.rb +14 -0
- data/lib/genesis_ruby/errors/response_error.rb +14 -0
- data/lib/genesis_ruby/network/adapter/base_adapter.rb +31 -0
- data/lib/genesis_ruby/network/adapter/net_http_adapter.rb +92 -0
- data/lib/genesis_ruby/network/base_network.rb +83 -0
- data/lib/genesis_ruby/network/net_http.rb +28 -0
- data/lib/genesis_ruby/parser.rb +44 -0
- data/lib/genesis_ruby/parsers/base.rb +25 -0
- data/lib/genesis_ruby/parsers/xml.rb +120 -0
- data/lib/genesis_ruby/utils/common.rb +108 -0
- data/lib/genesis_ruby/utils/formatters/base.rb +40 -0
- data/lib/genesis_ruby/utils/formatters/response/definitions.rb +21 -0
- data/lib/genesis_ruby/utils/formatters/response/formats/amount.rb +34 -0
- data/lib/genesis_ruby/utils/formatters/response/formats/timestamp.rb +29 -0
- data/lib/genesis_ruby/utils/formatters/response/loader.rb +42 -0
- data/lib/genesis_ruby/utils/money/base/strategy.rb +38 -0
- data/lib/genesis_ruby/utils/money/conversions/amount_to_exponent.rb +22 -0
- data/lib/genesis_ruby/utils/money/conversions/exponent_to_amount.rb +22 -0
- data/lib/genesis_ruby/utils/money/format.rb +34 -0
- data/lib/genesis_ruby/utils/money_format.rb +39 -0
- data/lib/genesis_ruby/utils/object_formatter.rb +67 -0
- data/lib/genesis_ruby/utils/options/api_config.rb +36 -0
- data/lib/genesis_ruby/utils/options/base.rb +35 -0
- data/lib/genesis_ruby/utils/options/network_adapter_config.rb +41 -0
- data/lib/genesis_ruby/utils/transactions/financial_types.rb +50 -0
- data/lib/genesis_ruby/utils/transactions/references/capturable_types.rb +52 -0
- data/lib/genesis_ruby/utils/transactions/references/refundable_types.rb +70 -0
- data/lib/genesis_ruby/utils/transactions/references/voidable_types.rb +49 -0
- data/lib/genesis_ruby/utils/transactions/wpf_types.rb +43 -0
- data/lib/genesis_ruby/version.rb +5 -0
- data/lib/genesis_ruby.rb +57 -0
- metadata +372 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
require 'genesis_ruby/errors/parameter_error'
|
|
2
|
+
|
|
3
|
+
module GenesisRuby
|
|
4
|
+
module Api
|
|
5
|
+
module Mixins
|
|
6
|
+
module Requests
|
|
7
|
+
module CustomerAddress
|
|
8
|
+
# Mixin CustomerInfoAttributes
|
|
9
|
+
module CustomerInfoAttributes
|
|
10
|
+
|
|
11
|
+
attr_reader :customer_email
|
|
12
|
+
attr_accessor :customer_phone
|
|
13
|
+
|
|
14
|
+
# Email of the customer
|
|
15
|
+
def customer_email=(value)
|
|
16
|
+
raise GenesisRuby::ParameterError unless value =~ /\A.+@.+\..+\Z/
|
|
17
|
+
|
|
18
|
+
@customer_email = value
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module CustomerAddress
|
|
6
|
+
# Mixin shippingInfoAttributes
|
|
7
|
+
module ShippingInfoAttributes
|
|
8
|
+
|
|
9
|
+
attr_accessor :shipping_first_name, :shipping_last_name, :shipping_address1, :shipping_address2,
|
|
10
|
+
:shipping_zip_code, :shipping_city, :shipping_state, :shipping_country
|
|
11
|
+
|
|
12
|
+
protected
|
|
13
|
+
|
|
14
|
+
# Build Hash with all parameters
|
|
15
|
+
def shipping_address_parameters_structure
|
|
16
|
+
{
|
|
17
|
+
first_name: shipping_first_name,
|
|
18
|
+
last_name: shipping_last_name,
|
|
19
|
+
address1: shipping_address1,
|
|
20
|
+
address2: shipping_address2,
|
|
21
|
+
zip_code: shipping_zip_code,
|
|
22
|
+
city: shipping_city,
|
|
23
|
+
state: shipping_state,
|
|
24
|
+
country: shipping_country
|
|
25
|
+
}
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module Financial
|
|
6
|
+
# Mixin Async Attributes
|
|
7
|
+
module AsyncAttributes
|
|
8
|
+
|
|
9
|
+
attr_reader :return_success_url, :return_failure_url
|
|
10
|
+
|
|
11
|
+
# Return Success URL setter
|
|
12
|
+
def return_success_url=(value)
|
|
13
|
+
unless GenesisRuby::Utils::Common.valid_url?(value)
|
|
14
|
+
raise ParameterError, "Invalid URL given for #{__method__}"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
@return_success_url = value
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Return Failure URL setter
|
|
21
|
+
def return_failure_url=(value)
|
|
22
|
+
unless GenesisRuby::Utils::Common.valid_url?(value)
|
|
23
|
+
raise ParameterError, "Invalid URL given for #{__method__}"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
@return_failure_url = value
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module Financial
|
|
6
|
+
# Base Financial Transaction Requests attributes
|
|
7
|
+
module BaseAttributes
|
|
8
|
+
|
|
9
|
+
attr_accessor :transaction_id, :usage, :remote_ip
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
data/lib/genesis_ruby/api/mixins/requests/financial/business/airlines_air_carriers_attributes.rb
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module Financial
|
|
6
|
+
module Business
|
|
7
|
+
# Mixin Airlines Air Carriers Attributes
|
|
8
|
+
module AirlinesAirCarriersAttributes
|
|
9
|
+
|
|
10
|
+
attr_accessor :business_airline_code, :business_airline_flight_number, :business_flight_ticket_number,
|
|
11
|
+
:business_flight_origin_city, :business_flight_destination_city,
|
|
12
|
+
:business_airline_tour_operator_name
|
|
13
|
+
|
|
14
|
+
# The date when the flight arrives
|
|
15
|
+
def business_flight_arrival_date
|
|
16
|
+
@business_flight_arrival_date&.strftime(
|
|
17
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# The date when the flight arrives
|
|
22
|
+
def business_flight_arrival_date=(value)
|
|
23
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# The date when the flight departs
|
|
27
|
+
def business_flight_departure_date
|
|
28
|
+
@business_flight_departure_date&.strftime(
|
|
29
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# The date when the flight departs
|
|
34
|
+
def business_flight_departure_date=(value)
|
|
35
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
protected
|
|
39
|
+
|
|
40
|
+
# Airlines Air Carriers Attributes Structure
|
|
41
|
+
def airlines_air_carriers_attributes_structure
|
|
42
|
+
{
|
|
43
|
+
flight_arrival_date: business_flight_arrival_date,
|
|
44
|
+
flight_departure_date: business_flight_departure_date,
|
|
45
|
+
airline_code: business_airline_code,
|
|
46
|
+
airline_flight_number: business_airline_flight_number,
|
|
47
|
+
flight_ticket_number: business_flight_ticket_number,
|
|
48
|
+
flight_origin_city: business_flight_origin_city,
|
|
49
|
+
flight_destination_city: business_flight_destination_city,
|
|
50
|
+
airline_tour_operator_name: business_airline_tour_operator_name
|
|
51
|
+
}
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
require 'genesis_ruby/api/mixins/requests/financial/business/airlines_air_carriers_attributes'
|
|
2
|
+
require 'genesis_ruby/api/mixins/requests/financial/business/car_plane_and_boat_rentals_attributes'
|
|
3
|
+
require 'genesis_ruby/api/mixins/requests/financial/business/cruise_lines_attributes'
|
|
4
|
+
require 'genesis_ruby/api/mixins/requests/financial/business/event_management_attributes'
|
|
5
|
+
require 'genesis_ruby/api/mixins/requests/financial/business/furniture_attributes'
|
|
6
|
+
require 'genesis_ruby/api/mixins/requests/financial/business/hotels_and_real_estate_rentals_attributes'
|
|
7
|
+
require 'genesis_ruby/api/mixins/requests/financial/business/travel_agencies_attributes'
|
|
8
|
+
require 'genesis_ruby/api/constants/transactions/parameters/business/payment_types'
|
|
9
|
+
|
|
10
|
+
module GenesisRuby
|
|
11
|
+
module Api
|
|
12
|
+
module Mixins
|
|
13
|
+
module Requests
|
|
14
|
+
module Financial
|
|
15
|
+
module Business
|
|
16
|
+
# Mixin Business Attributes
|
|
17
|
+
module BusinessAttributes
|
|
18
|
+
|
|
19
|
+
include AirlinesAirCarriersAttributes
|
|
20
|
+
include CarPlaneAndBoatRentalsAttributes
|
|
21
|
+
include CruiseLinesAttributes
|
|
22
|
+
include EventManagementAttributes
|
|
23
|
+
include FurnitureAttributes
|
|
24
|
+
include HotelsAndRealEstateRentalsAttributes
|
|
25
|
+
include TravelAgenciesAttributes
|
|
26
|
+
|
|
27
|
+
attr_reader :business_payment_type
|
|
28
|
+
|
|
29
|
+
# The type of payment - can be either deposit or balance
|
|
30
|
+
def business_payment_type=(value)
|
|
31
|
+
allowed_options attribute: __method__,
|
|
32
|
+
allowed: GenesisRuby::Api::Constants::Transactions::Parameters::Business::
|
|
33
|
+
PaymentTypes.all,
|
|
34
|
+
value: value,
|
|
35
|
+
allow_empty: true
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
protected
|
|
39
|
+
|
|
40
|
+
# Business Attributes Structure
|
|
41
|
+
def business_attributes_structure
|
|
42
|
+
{
|
|
43
|
+
payment_type: business_payment_type
|
|
44
|
+
}.merge airlines_air_carriers_attributes_structure, car_plane_and_boat_rentals_attributes_structure,
|
|
45
|
+
cruise_lines_attributes_structure, event_management_attributes_structure,
|
|
46
|
+
furniture_attributes_structure, hotels_and_real_estate_rentals_attributes_structure,
|
|
47
|
+
travel_agencies_attributes_structure
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module Financial
|
|
6
|
+
module Business
|
|
7
|
+
# Mixin Car Plane and Boat Rentals Attributes
|
|
8
|
+
module CarPlaneAndBoatRentalsAttributes
|
|
9
|
+
|
|
10
|
+
attr_accessor :business_supplier_name
|
|
11
|
+
|
|
12
|
+
# The date when customer takes the vehicle
|
|
13
|
+
def business_vehicle_pick_up_date
|
|
14
|
+
@business_vehicle_pick_up_date&.strftime(
|
|
15
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# The date when customer takes the vehicle
|
|
20
|
+
def business_vehicle_pick_up_date=(value)
|
|
21
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# The date when the customer returns the vehicle back
|
|
25
|
+
def business_vehicle_return_date
|
|
26
|
+
@business_vehicle_return_date&.strftime(
|
|
27
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# The date when the customer returns the vehicle back
|
|
32
|
+
def business_vehicle_return_date=(value)
|
|
33
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
protected
|
|
37
|
+
|
|
38
|
+
# Car Plane and Boat Rentals Attributes Structure
|
|
39
|
+
def car_plane_and_boat_rentals_attributes_structure
|
|
40
|
+
{
|
|
41
|
+
vehicle_pick_up_date: business_vehicle_pick_up_date,
|
|
42
|
+
vehicle_return_date: business_vehicle_return_date,
|
|
43
|
+
supplier_name: business_supplier_name
|
|
44
|
+
}
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module Financial
|
|
6
|
+
module Business
|
|
7
|
+
# Mixin Cruise Lines Attributes
|
|
8
|
+
module CruiseLinesAttributes
|
|
9
|
+
|
|
10
|
+
# The date when cruise begins
|
|
11
|
+
def business_cruise_start_date
|
|
12
|
+
@business_cruise_start_date&.strftime(
|
|
13
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The date when cruise begins
|
|
18
|
+
def business_cruise_start_date=(value)
|
|
19
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# The date when cruise ends
|
|
23
|
+
def business_cruise_end_date
|
|
24
|
+
@business_cruise_end_date&.strftime(
|
|
25
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# The date when cruise ends
|
|
30
|
+
def business_cruise_end_date=(value)
|
|
31
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
protected
|
|
35
|
+
|
|
36
|
+
# Cruise Lines Attributes Structure
|
|
37
|
+
def cruise_lines_attributes_structure
|
|
38
|
+
{
|
|
39
|
+
cruise_start_date: business_cruise_start_date,
|
|
40
|
+
cruise_end_date: business_cruise_end_date
|
|
41
|
+
}
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module Financial
|
|
6
|
+
module Business
|
|
7
|
+
# Mixin Event Management Attributes
|
|
8
|
+
module EventManagementAttributes
|
|
9
|
+
|
|
10
|
+
attr_accessor :business_event_organizer_id, :business_event_id
|
|
11
|
+
|
|
12
|
+
# The date when event starts
|
|
13
|
+
def business_event_start_date
|
|
14
|
+
@business_event_start_date&.strftime(
|
|
15
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# The date when event starts
|
|
20
|
+
def business_event_start_date=(value)
|
|
21
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# The date when event ends
|
|
25
|
+
def business_event_end_date
|
|
26
|
+
@business_event_end_date&.strftime(
|
|
27
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# The date when event ends
|
|
32
|
+
def business_event_end_date=(value)
|
|
33
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
protected
|
|
37
|
+
|
|
38
|
+
# Event Management Attributes Structure
|
|
39
|
+
def event_management_attributes_structure
|
|
40
|
+
{
|
|
41
|
+
event_start_date: business_event_start_date,
|
|
42
|
+
event_end_date: business_event_end_date,
|
|
43
|
+
event_organizer_id: business_event_organizer_id,
|
|
44
|
+
event_id: business_event_id
|
|
45
|
+
}
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module Financial
|
|
6
|
+
module Business
|
|
7
|
+
# Mixin Furniture Attributes
|
|
8
|
+
module FurnitureAttributes
|
|
9
|
+
|
|
10
|
+
attr_accessor :business_name_of_the_supplier
|
|
11
|
+
|
|
12
|
+
# The date when order was placed
|
|
13
|
+
def business_date_of_order
|
|
14
|
+
@business_date_of_order&.strftime(
|
|
15
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# The date when order was placed
|
|
20
|
+
def business_date_of_order=(value)
|
|
21
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Date of the expected delivery
|
|
25
|
+
def business_delivery_date
|
|
26
|
+
@business_delivery_date&.strftime(
|
|
27
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Date of the expected delivery
|
|
32
|
+
def business_delivery_date=(value)
|
|
33
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
protected
|
|
37
|
+
|
|
38
|
+
# Furniture Attributes Structure
|
|
39
|
+
def furniture_attributes_structure
|
|
40
|
+
{
|
|
41
|
+
date_of_order: business_date_of_order,
|
|
42
|
+
delivery_date: business_delivery_date,
|
|
43
|
+
name_of_the_supplier: business_name_of_the_supplier
|
|
44
|
+
}
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module Financial
|
|
6
|
+
module Business
|
|
7
|
+
# Mixin Hotels and Real Estate Rentals Attributes
|
|
8
|
+
module HotelsAndRealEstateRentalsAttributes
|
|
9
|
+
|
|
10
|
+
attr_accessor :business_travel_agency_name
|
|
11
|
+
|
|
12
|
+
# The data when the customer check-in
|
|
13
|
+
def business_check_in_date
|
|
14
|
+
@business_check_in_date&.strftime(
|
|
15
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# The data when the customer check-in
|
|
20
|
+
def business_check_in_date=(value)
|
|
21
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# The data when the customer check-out
|
|
25
|
+
def business_check_out_date
|
|
26
|
+
@business_check_out_date&.strftime(
|
|
27
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# The data when the customer check-out
|
|
32
|
+
def business_check_out_date=(value)
|
|
33
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
protected
|
|
37
|
+
|
|
38
|
+
# Hotels and Real Estate Rentals Attributes Structure
|
|
39
|
+
def hotels_and_real_estate_rentals_attributes_structure
|
|
40
|
+
{
|
|
41
|
+
check_in_date: business_check_in_date,
|
|
42
|
+
check_out_date: business_check_out_date,
|
|
43
|
+
travel_agency_name: business_travel_agency_name
|
|
44
|
+
}
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module Financial
|
|
6
|
+
module Business
|
|
7
|
+
# Mixin Travel Agencies Attributes
|
|
8
|
+
module TravelAgenciesAttributes
|
|
9
|
+
|
|
10
|
+
attr_accessor :business_carrier_code, :business_flight_number, :business_ticket_number,
|
|
11
|
+
:business_origin_city, :business_destination_city, :business_travel_agency,
|
|
12
|
+
:business_contractor_name, :business_atol_certificate
|
|
13
|
+
|
|
14
|
+
# The date of arrival
|
|
15
|
+
def business_arrival_date
|
|
16
|
+
@business_arrival_date&.strftime(
|
|
17
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# The date of arrival
|
|
22
|
+
def business_arrival_date=(value)
|
|
23
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# The date of departure
|
|
27
|
+
def business_departure_date
|
|
28
|
+
@business_departure_date&.strftime(
|
|
29
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# The date of departure
|
|
34
|
+
def business_departure_date=(value)
|
|
35
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Pick-up date
|
|
39
|
+
def business_pick_up_date
|
|
40
|
+
@business_pick_up_date&.strftime(
|
|
41
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Pick-up date
|
|
46
|
+
def business_pick_up_date=(value)
|
|
47
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Return date
|
|
51
|
+
def business_return_date
|
|
52
|
+
@business_return_date&.strftime(
|
|
53
|
+
GenesisRuby::Api::Constants::DateTimeFormats::DD_MM_YYYY_L_HYPHENS
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Return date
|
|
58
|
+
def business_return_date=(value)
|
|
59
|
+
parse_date attribute: __method__, value: value, allow_empty: true
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
protected
|
|
63
|
+
|
|
64
|
+
# Travel Agencies Attributes Structure
|
|
65
|
+
def travel_agencies_attributes_structure # rubocop:disable Metrics/MethodLength
|
|
66
|
+
{
|
|
67
|
+
arrival_date: business_arrival_date,
|
|
68
|
+
departure_date: business_departure_date,
|
|
69
|
+
carrier_code: business_carrier_code,
|
|
70
|
+
flight_number: business_flight_number,
|
|
71
|
+
ticket_number: business_ticket_number,
|
|
72
|
+
origin_city: business_origin_city,
|
|
73
|
+
destination_city: business_destination_city,
|
|
74
|
+
travel_agency: business_travel_agency,
|
|
75
|
+
contractor_name: business_contractor_name,
|
|
76
|
+
atol_certificate: business_atol_certificate,
|
|
77
|
+
pick_up_date: business_pick_up_date,
|
|
78
|
+
return_date: business_return_date
|
|
79
|
+
}
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module GenesisRuby
|
|
2
|
+
module Api
|
|
3
|
+
module Mixins
|
|
4
|
+
module Requests
|
|
5
|
+
module Financial
|
|
6
|
+
module Cards
|
|
7
|
+
# Credit Card Attributes
|
|
8
|
+
module CreditCardAttributes
|
|
9
|
+
|
|
10
|
+
attr_accessor :card_holder, :card_number, :cvv, :expiration_month, :expiration_year
|
|
11
|
+
|
|
12
|
+
protected
|
|
13
|
+
|
|
14
|
+
# Credit Card Attributes Structure
|
|
15
|
+
def credit_card_attributes_structure
|
|
16
|
+
{
|
|
17
|
+
card_holder: card_holder,
|
|
18
|
+
card_number: card_number,
|
|
19
|
+
expiration_month: expiration_month,
|
|
20
|
+
expiration_year: expiration_year,
|
|
21
|
+
cvv: cvv
|
|
22
|
+
}
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
data/lib/genesis_ruby/api/mixins/requests/financial/cards/recurring/recurring_category_attributes.rb
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require 'genesis_ruby/api/constants/transactions/parameters/recurring/categories'
|
|
2
|
+
|
|
3
|
+
module GenesisRuby
|
|
4
|
+
module Api
|
|
5
|
+
module Mixins
|
|
6
|
+
module Requests
|
|
7
|
+
module Financial
|
|
8
|
+
module Cards
|
|
9
|
+
module Recurring
|
|
10
|
+
# Recurring Category Attributes
|
|
11
|
+
module RecurringCategoryAttributes
|
|
12
|
+
|
|
13
|
+
attr_reader :recurring_category
|
|
14
|
+
|
|
15
|
+
# Specifies whether the recurring transaction is a subscription or standing order
|
|
16
|
+
def recurring_category=(value)
|
|
17
|
+
allowed_options attribute: __method__,
|
|
18
|
+
allowed: GenesisRuby::Api::Constants::Transactions::Parameters::Recurring::
|
|
19
|
+
Categories.all,
|
|
20
|
+
value: value,
|
|
21
|
+
allow_empty: true
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|