class ReclameAqui::ReputationByWebsite

Public Class Methods

new(website) click to toggle source
# File lib/reclame_aqui/reputation_by_website.rb, line 8
def initialize(website)
  @website = website
end

Public Instance Methods

reputation() click to toggle source
# File lib/reclame_aqui/reputation_by_website.rb, line 12
def reputation
  begin
    response = do_request
    format_response JSON.parse(response.body)
  rescue
    raise ReclameAqui::InvalidWebsiteException
  end
end

Private Instance Methods

do_request() click to toggle source
# File lib/reclame_aqui/reputation_by_website.rb, line 23
def do_request
  uri = URI.parse 'http://app02.reclameaqui.com.br/reputacao'
  http = Net::HTTP.new uri.host, uri.port
  http.post uri.path, "url=#{@website}", {}
end
format_response(data) click to toggle source
# File lib/reclame_aqui/reputation_by_website.rb, line 29
def format_response data
  reputation = data['reputacao']
  status = reputation['status'] || []
  {
    id: reputation['empresa_id'].to_i,
    name: reputation['nome_empresa'],
    period: reputation['periodo'].to_i,
    status: status['status_id'].to_i,
    complaints: reputation['reclamacoes'].to_i,
    answered: reputation['respondidas'].to_i,
    not_answered: reputation['nao_respondidas'].to_i,
    measured: reputation['avaliadas'].to_i,
    solution_index: reputation['indice_solucao'].to_i,
    would_return: reputation['voltaria_fazer_negocio'].to_i,
    grade: reputation['nota_consumidor'].to_i,
    time_to_response: reputation['tempo_resposta'],
    chat: reputation['chat'].to_i,
    fone: reputation['fone'].to_i,
    show_selo: reputation['show_selo'].to_i
  }
end