Class: Genba::OrderRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/genba/order_request.rb

Instance Method Summary collapse

Constructor Details

#initializeOrderRequest

Returns a new instance of OrderRequest.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/genba/order_request.rb', line 5

def initialize
  @schema = Dry::Validation.Schema do
    required(:ClientTransactionID).filled(:str?)
    optional(:Properties).schema do
      required(:Sku).filled(:str?)
      optional(:BuyingPrice).schema do
        required(:Amount).filled(:float?)
        required(:CurrencyCode).filled(:str?)
      end
      required(:SellingPrice).schema do
        required(:NetAmount).filled(:float?)
        required(:GrossAmount).filled(:float?)
        required(:CurrencyCode).filled(:str?)
      end
      optional(:ConsumerIP).maybe(:str?)
      required(:CountryCode).filled(:str?)
      optional(:EtailerID).filled(:str?)
    end
    optional(:ReservationID).filled(:str?)
  end
end

Instance Method Details

#call(data) ⇒ Object



27
28
29
# File 'lib/genba/order_request.rb', line 27

def call(data)
  @schema.call(data)
end