class CzechPostB2bClient::RequestBuilders::GetParcelStateBuilder
Attributes
parcel_codes[R]
Public Class Methods
new(parcel_codes:, request_id: 1)
click to toggle source
# File lib/czech_post_b2b_client/request_builders/get_parcel_state_builder.rb, line 8 def initialize(parcel_codes:, request_id: 1) @parcel_codes = parcel_codes @request_id = request_id end
Private Instance Methods
get_parcel_state()
click to toggle source
# File lib/czech_post_b2b_client/request_builders/get_parcel_state_builder.rb, line 33 def get_parcel_state # rubocop:disable Naming/AccessorMethodName new_element('ns2:getParcelState').tap do |parcel_state| parcel_codes.each do |parcel_code| add_element_to(parcel_state, 'ns2:idParcel', value: parcel_code.to_s) end add_element_to(parcel_state, 'ns2:language', value: configuration.language.to_s) end end
service_data_struct()
click to toggle source
# File lib/czech_post_b2b_client/request_builders/get_parcel_state_builder.rb, line 27 def service_data_struct new_element('serviceData').tap do |srv_data| add_element_to(srv_data, get_parcel_state) end end
validate_data()
click to toggle source
# File lib/czech_post_b2b_client/request_builders/get_parcel_state_builder.rb, line 15 def validate_data if parcel_codes.empty? errors.add(:parcel_codes, 'Minimum of 1 parcel code is required!') fail! end return if parcel_codes.size <= 10 errors.add(:parcel_codes, 'Maximum of 10 parcel codes are allowed!') fail! end