Sha256: aba968c041fc15ce192203aadcf30f288d4e7b28f585f0f11b4cc1b21085c1ae

Contents?: true

Size: 1.25 KB

Versions: 6

Compression:

Stored size: 1.25 KB

Contents

require 'egon_gate/egsb/messages/e37_vyhledej_adresu'

module EgovUtils
  class AddressesController < ApplicationController

    def validate_ruian
      # TODO: shoud be in some validator - external class
      addr_params = params.require(:address).permit(:city, :postcode, :street, :orientation_number, :house_number)
      address = Address.new(addr_params)
      if (address.city || address.postcode) && (( address.street && address.orientation_number ) || address.house_number)
        message = EgonGate::Egsb::Messages::E37VyhledejAdresu.new
        address.prepare_egon_message(message)
        kobra_reqest = EgonGate::Kobra::Request.new
        response = kobra_reqest.send_message(message)
        if response.error?
          respond_to do |format|
            format.json { render json: { error: response.error_message }, status: 404 }
          end
        else
          egon_address_info = message.parse_response( response.egsb_response )
          address.from_egon_info(egon_address_info)
          respond_to do |format|
            format.json { render json: address }
          end
        end
      else
        respond_to do |format|
          format.json { render json: { error: t(:error_not_found) }, status: 404 }
        end
      end
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
egov_utils-0.1.7 app/controllers/egov_utils/addresses_controller.rb
egov_utils-0.1.6 app/controllers/egov_utils/addresses_controller.rb
egov_utils-0.1.5 app/controllers/egov_utils/addresses_controller.rb
egov_utils-0.1.4 app/controllers/egov_utils/addresses_controller.rb
egov_utils-0.1.1 app/controllers/egov_utils/addresses_controller.rb
egov_utils-0.1.0 app/controllers/egov_utils/addresses_controller.rb