Sha256: 87fc19bf920861daed183a64ef29c840d0b5f1b0df9fd16f67fb298a6f30ebfc

Contents?: true

Size: 967 Bytes

Versions: 8

Compression:

Stored size: 967 Bytes

Contents

module CC::Service::QualityHelper
  def improved?
    remediation_cost < previous_remediation_cost
  end

  def constant_name
    payload["constant_name"]
  end

  def quality_title
    if payload["rating"].present?
      "Refactor #{constant_name} from #{rating} on Code Climate"
    else
      "Refactor #{constant_name} on Code Climate"
    end
  end

  def rating
    with_article(payload["rating"])
  end

  def previous_rating
    with_article(payload["previous_rating"])
  end

  def remediation_cost
    payload.fetch("remediation_cost", 0)
  end

  def previous_remediation_cost
    payload.fetch("previous_remediation_cost", 0)
  end

  def with_article(letter, bold = false)
    letter ||= '?'

    text = bold ? "*#{letter}*" : letter
    if %w( A F ).include?(letter.to_s)
      "an #{text}"
    else
      "a #{text}"
    end
  end

  def constant_basename(name)
    if name.include?(".")
      File.basename(name)
    else
      name
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
codeclimate-services-1.6.1 lib/cc/helpers/quality_helper.rb
codeclimate-services-1.6.0 lib/cc/helpers/quality_helper.rb
codeclimate-services-1.5.1 lib/cc/helpers/quality_helper.rb
codeclimate-services-1.5.0 lib/cc/helpers/quality_helper.rb
codeclimate-services-1.4.0 lib/cc/helpers/quality_helper.rb
codeclimate-services-1.3.0 lib/cc/helpers/quality_helper.rb
codeclimate-services-1.2.0 lib/cc/helpers/quality_helper.rb
codeclimate-services-1.1.0 lib/cc/helpers/quality_helper.rb