Sha256: 03dc9b2477f2e8263f8a824c5611e391384f6ddfa254cea0d5727f9361d63a49

Contents?: true

Size: 1.31 KB

Versions: 20

Compression:

Stored size: 1.31 KB

Contents

class EventFixtures
  attr_reader :options

  REMEDIATIONS = {
    "A" => 0,
    "B" => 10,
    "C" => 15,
    "D" => 20,
    "F" => 25,
  }

  def initialize(options)
    @options = {
      repo_name: "Example",
      details_url: "https://codeclimate.com/repos/1/feed",
      compare_url: "https://codeclimate.com/repos/1/compare",
    }.merge(options)
  end

  # Options: to, from
  def coverage
    to = options.delete(:to)
    from = options.delete(:from)
    delta = (to - from).round(1)

    options.merge(
      name: "coverage",
      covered_percent: to,
      previous_covered_percent: from,
      covered_percent_delta: delta
    )
  end

  # Options: to, from
  def quality
    to = options.delete(:to)
    from = options.delete(:from)

    options.merge(
      name: "quality",
      constant_name: "User",
      rating: to,
      previous_rating: from,
      remediation_cost: REMEDIATIONS[to],
      previous_remediation_cost: REMEDIATIONS[from]
    )
  end

  # Options: warning_type, vulnerabilities
  def vulnerability
    options.merge(name: "vulnerability")
  end

  def issue
    options.merge(name: "issue")
  end

end

def event(name, options = {})
  fixtures = EventFixtures.new(options)

  if fixtures.respond_to?(name)
    fixtures.send(name)
  else
    raise ArgumentError, "No such fixture: #{name}"
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
codeclimate-services-1.6.1 test/fixtures.rb
codeclimate-services-1.6.0 test/fixtures.rb
codeclimate-services-1.5.1 test/fixtures.rb
codeclimate-services-1.5.0 test/fixtures.rb
codeclimate-services-1.4.0 test/fixtures.rb
codeclimate-services-1.3.0 test/fixtures.rb
codeclimate-services-1.2.0 test/fixtures.rb
codeclimate-services-1.1.0 test/fixtures.rb
codeclimate-services-1.0.1 test/fixtures.rb
codeclimate-services-1.0.0 test/fixtures.rb
codeclimate-services-0.6.2 test/fixtures.rb
codeclimate-services-0.6.1 test/fixtures.rb
codeclimate-services-0.6.0 test/fixtures.rb
codeclimate-services-0.5.3 test/fixtures.rb
codeclimate-services-0.5.2 test/fixtures.rb
codeclimate-services-0.5.1 test/fixtures.rb
codeclimate-services-0.5.0 test/fixtures.rb
codeclimate-services-0.4.1 test/fixtures.rb
codeclimate-services-0.4.0 test/fixtures.rb
codeclimate-services-0.3.0 test/fixtures.rb