<commit_before># Methods added to this helper will be available to all templates in the application.
module ApplicationHelper

  def flash_message
    messages = ""
    [ :notice, :info, :warning, :error ].each do |type|
      messages = content_tag(:p, flash[type], :class => type) if flash[type]
    end
    m1 = content_tag(:div, messages, :id => "flash_message") if (messages and not messages.empty?)
    # m2 = javascript_tag("Effect.Fade('flash_message', { duration: 15 });")
    # return m1 + m2 if (m1 and not m1.empty?)
    m1
  end

  def sexo(dados)
    if dados.sexo == 'm'
      image_tag "icones/male.png"
    elsif dados.sexo == 'f'
      image_tag "icones/female.png"
    end
  end

  def host
    case RAILS_ENV
      when "development"
        "http://192.168.1.109:9999"
      when "production"
        "http://www.cidadedemocratica.com.br"
    end
  end

  # Copy-Paste from plugin's helper
  # When auto-loaded, remove this code bellow:
  def tag_cloud(tags, classes, options = {})
    if tags and not tags.empty?
      if options[:relevancia]
        max_count = tags.sort_by{ |t| t.relevancia.to_i }.last.relevancia.to_f
      else
        max_count = tags.sort_by{ |t| t.total.to_i }.last.total.to_f
      end
      
      tags.sort{ |b,a| b.name.downcase.remover_acentos <=> a.name.downcase.remover_acentos }.each do |tag|
        if options[:relevancia]
          index = ((tag.relevancia.to_f / max_count.to_f) * (classes.size - 1)).to_i
        else
          index = ((tag.total.to_f / max_count.to_f) * (classes.size - 1)).to_i
        end
        # logger.debug(">>> Max: #{max_count}; tag: #{tag.name}; count: #{tag.total}; class: #{classes[index]}")
        yield tag, classes[index]
      end
    end
  end
  
  def cidades_cloud(cidades, classes, options = {})
    if cidades and not cidades.empty?
      max_count = cidades.sort_by{ |t| t.total.to_i }.last.total.to_f 
      max_count = cidades.sort_by{ |t| t.relevancia.to_i }.last.relevancia.to_f if options[:relevancia]
      cidades.sort_by{ |a| a.nome.remover_acentos }.each do |cidade|
        index = ((cidade.total.to_f / max_count.to_f) * (classes.size - 1)).to_i
        index = ((cidade.relevancia.to_f / max_count.to_f) * (classes.size - 1)).to_i if options[:relevancia]
        yield cidade, classes[index]
      end
    end
  end

  # Cria um link mantendo todos os parâmetros do atual contexto da página,
  # inclusive o controller e o action. Basta fornecer em options os parâmetros<commit_msg>Corrigindo bug de divisão por zero no helper tags_cloud<commit_after># Methods added to this helper will be available to all templates in the application.
module ApplicationHelper

  def flash_message
    messages = ""
    [ :notice, :info, :warning, :error ].each do |type|
      messages = content_tag(:p, flash[type], :class => type) if flash[type]
    end
    m1 = content_tag(:div, messages, :id => "flash_message") if (messages and not messages.empty?)
    # m2 = javascript_tag("Effect.Fade('flash_message', { duration: 15 });")
    # return m1 + m2 if (m1 and not m1.empty?)
    m1
  end

  def sexo(dados)
    if dados.sexo == 'm'
      image_tag "icones/male.png"
    elsif dados.sexo == 'f'
      image_tag "icones/female.png"
    end
  end

  def host
    case RAILS_ENV
      when "development"
        "http://192.168.1.109:9999"
      when "production"
        "http://www.cidadedemocratica.com.br"
    end
  end

  # Copy-Paste from plugin's helper
  # When auto-loaded, remove this code bellow:
  def tag_cloud(tags, classes, options = {})
    if tags and not tags.empty?
      if options[:relevancia]
        max_count = tags.sort_by{ |t| t.relevancia.to_i }.last.relevancia.to_f
      else
        max_count = tags.sort_by{ |t| t.total.to_i }.last.total.to_f
      end

      max_count = 1.0 if max_count == 0.0

      tags.sort{ |b,a| b.name.downcase.remover_acentos <=> a.name.downcase.remover_acentos }.each do |tag|
        if options[:relevancia]
          index = ((tag.relevancia.to_f / max_count.to_f) * (classes.size - 1)).to_i
        else
          index = ((tag.total.to_f / max_count.to_f) * (classes.size - 1)).to_i
        end
        # logger.debug(">>> Max: #{max_count}; tag: #{tag.name}; count: #{tag.total}; class: #{classes[index]}")
        yield tag, classes[index]
      end
    end
  end
  
  def cidades_cloud(cidades, classes, options = {})
    if cidades and not cidades.empty?
      max_count = cidades.sort_by{ |t| t.total.to_i }.last.total.to_f 
      max_count = cidades.sort_by{ |t| t.relevancia.to_i }.last.relevancia.to_f if options[:relevancia]
      cidades.sort_by{ |a| a.nome.remover_acentos }.each do |cidade|
        index = ((cidade.total.to_f / max_count.to_f) * (classes.size - 1)).to_i
        index = ((cidade.relevancia.to_f / max_count.to_f) * (classes.size - 1)).to_i if options[:relevancia]
        yield cidade, classes[index]
      end
    end
  end

  # Cria um link mantendo todos os parâmetros do atual contexto da página,
  # inclusive o controller e o action. Basta fornecer em options os parâmetros
{'fraction_non_alphanumeric': 0.1279826464208243, 'fraction_numerical': 0.01143758627489647, 'mean_word_length': 2.7431734317343173, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1189955', 'n_tokens_mistral': 1861, 'n_tokens_neox': 1804, 'n_words': 458}