Sha256: 0ba80e2e545825e903aeec31891884f14f82ad66bcad765cc85b8361ffbc116d

Contents?: true

Size: 1.08 KB

Versions: 3

Compression:

Stored size: 1.08 KB

Contents

require "pathname"

class Standard::CreatesConfigStore
  class AssignsRubocopYaml
    def call(config_store, standard_config)
      config_store.options_config = rubocop_yaml_path(standard_config[:ruby_version])
      config_store.instance_variable_get(:@options_config)
    end

    private

    def rubocop_yaml_path(desired_version)
      default = "base.yml"

      file_name = if !Gem::Version.correct?(desired_version)
        default
      elsif desired_version < Gem::Version.new("1.9")
        "ruby-1.8.yml"
      elsif desired_version < Gem::Version.new("2.0")
        "ruby-1.9.yml"
      elsif desired_version < Gem::Version.new("2.3")
        "ruby-2.2.yml"
      elsif desired_version < Gem::Version.new("2.4")
        "ruby-2.3.yml"
      elsif desired_version < Gem::Version.new("2.5")
        "ruby-2.4.yml"
      elsif desired_version < Gem::Version.new("2.6")
        "ruby-2.5.yml"
      elsif desired_version < Gem::Version.new("3.0")
        "ruby-2.7.yml"
      else
        default
      end

      Pathname.new(__dir__).join("../../../config/#{file_name}")
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
standard-1.7.3 lib/standard/creates_config_store/assigns_rubocop_yaml.rb
standard-1.7.2 lib/standard/creates_config_store/assigns_rubocop_yaml.rb
standard-1.7.1 lib/standard/creates_config_store/assigns_rubocop_yaml.rb