<commit_before>require 'correios-frete'

class Shipping::Base < Calculator
  preference :zipcode, :string
  preference :default_weight, :float, :default => 1

  def self.register
    super
    ShippingMethod.register_calculator(self)
  end

  def compute(object)
    pedido = encontra_pedido(object)
    logger.debug "Ship address: #{pedido.ship_address}"

    peso_total = peso_total_do_pedido(pedido)

    return 0 if peso_total == 0
    
    frete = Correios::Frete::Calculador.new :cep_origem => preferred_zipcode,
                                :cep_destino => pedido.ship_address.zipcode.to_s,
                                :peso => peso_total,
                                :comprimento => 30,
                                :largura => 15,
                                :altura => 2

    servico = frete.calcular self.tipo_servico
    servico.valor
  end

  private

  def peso_total_do_pedido(pedido)
    peso_total = 0
    pedido.line_items.each do |item|
      peso_total += item.quantity * (item.variant.weight || self.preferred_default_weight)
    end
    peso_total
  end

  def encontra_pedido(object)<commit_msg>removido log<commit_after>require 'correios-frete'

class Shipping::Base < Calculator
  preference :zipcode, :string
  preference :default_weight, :float, :default => 1

  def self.register
    super
    ShippingMethod.register_calculator(self)
  end

  def compute(object)
    pedido = encontra_pedido(object)

    peso_total = peso_total_do_pedido(pedido)

    return 0 if peso_total == 0
    
    frete = Correios::Frete::Calculador.new :cep_origem => preferred_zipcode,
                                :cep_destino => pedido.ship_address.zipcode.to_s,
                                :peso => peso_total,
                                :comprimento => 30,
                                :largura => 15,
                                :altura => 2

    servico = frete.calcular self.tipo_servico
    servico.valor
  end

  private

  def peso_total_do_pedido(pedido)
    peso_total = 0
    pedido.line_items.each do |item|
      peso_total += item.quantity * (item.variant.weight || self.preferred_default_weight)
    end
    peso_total
  end

  def encontra_pedido(object)
{'fraction_non_alphanumeric': 0.08397291196388262, 'fraction_numerical': 0.008126410835214447, 'mean_word_length': 2.156695156695157, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, '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': '5740186', 'n_tokens_mistral': 751, 'n_tokens_neox': 700, 'n_words': 134}