class Nabortu::Methods::SavePerson

Public Instance Methods

do_prepare() click to toggle source
# File lib/nabortu/methods/save_person.rb, line 10
def do_prepare
  @response[:save_person_result]
end
request(params = {}) click to toggle source
# File lib/nabortu/methods/save_person.rb, line 4
def request(params = {})
  person    = params[:person]     || raise(Nabortu::Errors::NoParam.new :person)
  client_id = params[:client_id]  || raise(Nabortu::Errors::NoParam.new :person)
  build_person(person) + build_document(person.document) + "<tns:id_client>#{client_id}</tns:id_client>"
end

Private Instance Methods

build_document(document) click to toggle source
# File lib/nabortu/methods/save_person.rb, line 37
def build_document(document)
  doc = Nokogiri::XML::Builder.new do |xml|
    xml.root('xmlns:tns' => 'http://www.nabortu.ru/'){
      xml[:tns].Document{
        xml[:tns].DateGiven   document.date
        xml[:tns].DateExpire  document.expires
        xml[:tns].Number      document.number
        xml[:tns].id_DocumentType document.id_type
        xml[:tns].deleted 'false'
      }
    }
  end
  doc.doc.root.children.to_xml
end
build_person(person) click to toggle source
# File lib/nabortu/methods/save_person.rb, line 16
def build_person(person)
  person = Nokogiri::XML::Builder.new do |xml|
    xml.root("xmlns:tns" => 'http://nabortu.ru/'){
      xml[:tns].p{
        xml[:tns].FirstName   person.first_name
        xml[:tns].LastName    person.last_name
        xml[:tns].Phone       person.phone
        xml[:tns].SurName     person.surname
        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'
      }
    }
  end
  person.doc.root.children.to_xml
end