class Nabortu::Methods::CreateAviaReserve
Public Instance Methods
do_prepare()
click to toggle source
# File lib/nabortu/methods/create_avia_reserve.rb, line 22 def do_prepare @response[:reserve] end
request(params = {})
click to toggle source
# File lib/nabortu/methods/create_avia_reserve.rb, line 4 def request(params = {}) persons = params[:persons] || raise(Nabortu::Errors::NoParam.new :persons) request = params[:request] || raise(Nabortu::Errors::NoParam.new :request) client_id = params[:client_id] || raise(Nabortu::Errors::NoParam.new :client_id) persons_xml = persons.map { |p| build_person(p) } <<-REQUEST <tns:Request>#{request}</tns:Request> <tns:Passengers>#{persons_xml.join('')}</tns:Passengers> <tns:Comment>#{Nabortu.config.reserve_comment}</tns:Comment> <tns:id_OnlinePaymentType>26</tns:id_OnlinePaymentType> <tns:id_client>#{client_id}</tns:id_client> <tns:PartnerMarker>nabortu</tns:PartnerMarker> <tns:BonusProgram></tns:BonusProgram> REQUEST end
Private Instance Methods
build_person(person)
click to toggle source
# File lib/nabortu/methods/create_avia_reserve.rb, line 28 def build_person(person) person = Nokogiri::XML::Builder.new do |xml| xml.root('xmlns:tns' => Nabortu.config.ns){ xml[:tns].Person{ xml[:tns].id_Person person.id xml[:tns].FirstName person.first_name xml[:tns].LastName person.last_name xml[:tns].Phone person.phone xml[:tns].DateBirth person.birth_date xml[:tns].id_Country person.id_country xml[:tns].Gender person.gender xml[:tns].FirstNameLatin person.first_name_latin xml[:tns].LastNameLatin person.last_name_latin xml[:tns].deleted 'false' xml[:tns].ExtraBags '0' xml[:tns].Documents{ xml[:tns].id_Document person.document.id xml[:tns].DateGiven person.document.date xml[:tns].DateExpire person.document.expires xml[:tns].Number person.document.number xml[:tns].id_DocumentType person.document.id_type } } } end person.doc.root.children.to_xml end