Sha256: 94dec49e6d49b939b96cb78c0ec3f1ed6ea4ae028ab576bae57c95b2b11d89f8

Contents?: true

Size: 472 Bytes

Versions: 4

Compression:

Stored size: 472 Bytes

Contents

# frozen_string_literal: true

module RubyCritic
  class Rating
    def self.from_cost(cost)
      if    cost <= 2  then new('A')
      elsif cost <= 4  then new('B')
      elsif cost <= 8  then new('C')
      elsif cost <= 16 then new('D')
      else new('F')
      end
    end

    def initialize(letter)
      @letter = letter
    end

    def to_s
      @letter
    end

    def to_h
      @letter
    end

    def to_json(*a)
      to_h.to_json(*a)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rubycritic-3.3.0 lib/rubycritic/core/rating.rb
rubycritic-3.2.3 lib/rubycritic/core/rating.rb
rubycritic-3.2.2 lib/rubycritic/core/rating.rb
rubycritic-3.2.1 lib/rubycritic/core/rating.rb