Sha256: 13a7b00012d90b183938d0ea7e3878bea25586e51637be65964957f62b7e4ce2

Contents?: true

Size: 1.55 KB

Versions: 4

Compression:

Stored size: 1.55 KB

Contents

module PostmonRuby
  class GemOutput
    def self.get_info(options)
      unless options[:cep].nil?
        cep(options[:cep])
      end

      unless options[:cidade].nil?
        cidade(options[:cidade].first, options[:cidade].last)
      end

      unless options[:estado].nil?
        estado(options[:estado])
      end

      unless options[:rastreio].nil?
        rastreio(options[:rastreio])
      end      
    end

    private
    def self.cep(cep)
      resultado = Client.search :cep, cep
      output_variables(resultado)
    end

    def self.cidade(uf, cidade)
      resultado = Client.search :cidade, uf, cidade
      output_variables(resultado)
    end

    def self.estado(uf)
      resultado = PostmonRuby::Client.search :estado, uf
      output_variables(resultado)
    end

    def self.rastreio(rastreio)
      resultado = PostmonRuby::Client.search :rastreio, :ect, rastreio
      output_variables(resultado)
    end    

    def self.output_variables(resultado)
      if resultado.not_found
        puts "Nenhum resultado encontrado."
      else
        info = {}

        resultado.instance_variables.each do |var|
          info[var.to_s.delete("@").capitalize] = resultado.instance_variable_get(var)
        end

        print_array_output(info)
      end
    end

    def self.print_array_output(array, level = 0)
      array.each do |k, v|
        print "\t" if level > 0
        if(v.kind_of?(Enumerable) || k.kind_of?(Enumerable))
          print_array_output(v||k, 1)
        else
          puts "#{k}: #{v}"
        end
      end      
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
postmon_ruby-2.1.3 lib/postmon_ruby/gem_output.rb
postmon_ruby-2.1.2 lib/postmon_ruby/gem_output.rb
postmon_ruby-2.1.1 lib/postmon_ruby/gem_output.rb
postmon_ruby-2.1.0 lib/postmon_ruby/gem_output.rb