diff --git a/internal/class.h b/internal/class.h index 4366223f84f654..0773dbad95a1af 100644 --- a/internal/class.h +++ b/internal/class.h @@ -297,6 +297,7 @@ RCLASS_PRIME_CLASSEXT_WRITABLE_P(VALUE klass) { VM_ASSERT(klass != 0, "klass should be a valid object"); VM_ASSERT_BOXABLE_TYPE(klass); + RBIMPL_ASSUME(klass != 0); return FL_TEST_RAW(klass, RCLASS_PRIME_CLASSEXT_WRITABLE); } diff --git a/lib/bundler/cli/gem.rb b/lib/bundler/cli/gem.rb index 3f9432db3a810d..c8c24c8e66cc11 100644 --- a/lib/bundler/cli/gem.rb +++ b/lib/bundler/cli/gem.rb @@ -7,12 +7,6 @@ class CLI end class CLI::Gem - TEST_FRAMEWORK_VERSIONS = { - "rspec" => "3.0", - "minitest" => "5.16", - "test-unit" => "3.0", - }.freeze - DEFAULT_GITHUB_USERNAME = "[USERNAME]" attr_reader :options, :gem_name, :thor, :name, :target, :extension @@ -117,7 +111,6 @@ def run if test_framework = ask_and_set_test_framework config[:test] = test_framework - config[:test_framework_version] = TEST_FRAMEWORK_VERSIONS[test_framework] case test_framework when "rspec" @@ -203,12 +196,10 @@ def run config[:linter] = ask_and_set_linter case config[:linter] when "rubocop" - config[:linter_version] = rubocop_version Bundler.ui.info "RuboCop enabled in config" templates.merge!("rubocop.yml.tt" => ".rubocop.yml") config[:ignore_paths] << ".rubocop.yml" when "standard" - config[:linter_version] = standard_version Bundler.ui.info "Standard enabled in config" templates.merge!("standard.yml.tt" => ".standard.yml") config[:ignore_paths] << ".standard.yml" @@ -472,14 +463,6 @@ def required_ruby_version "3.2.0" end - def rubocop_version - "1.21" - end - - def standard_version - "1.3" - end - def github_username(git_username) if options[:github_username].nil? git_username diff --git a/lib/bundler/templates/newgem/Gemfile.tt b/lib/bundler/templates/newgem/Gemfile.tt index 691814b5379f51..85dc593b8f2a1b 100644 --- a/lib/bundler/templates/newgem/Gemfile.tt +++ b/lib/bundler/templates/newgem/Gemfile.tt @@ -13,12 +13,12 @@ gem "rake-compiler" <%- end -%> <%- if config[:test] -%> -gem "<%= config[:test] %>", ">= <%= config[:test_framework_version] %>" +gem "<%= config[:test] %>" <%- end -%> <%- if config[:linter] == "rubocop" -%> -gem "rubocop", ">= <%= config[:linter_version] %>" +gem "rubocop" <%- elsif config[:linter] == "standard" -%> -gem "standard", ">= <%= config[:linter_version] %>" +gem "standard" <%- end -%> diff --git a/spec/bundler/commands/newgem_spec.rb b/spec/bundler/commands/newgem_spec.rb index 3024a2486f79de..65fbad05aa2590 100644 --- a/spec/bundler/commands/newgem_spec.rb +++ b/spec/bundler/commands/newgem_spec.rb @@ -208,7 +208,8 @@ def installed_go? builder.eval_gemfile(bundled_app("#{gem_name}/Gemfile")) builder.dependencies rubocop_dep = builder.dependencies.find {|d| d.name == "rubocop" } - expect(rubocop_dep).not_to be_nil + expect(rubocop_dep).not_to be_specific + expect(rubocop_dep.requirement).to eq(Gem::Requirement.new([">= 0"])) end it "generates a default .rubocop.yml" do @@ -239,7 +240,8 @@ def installed_go? builder.eval_gemfile(bundled_app("#{gem_name}/Gemfile")) builder.dependencies standard_dep = builder.dependencies.find {|d| d.name == "standard" } - expect(standard_dep).not_to be_nil + expect(standard_dep).not_to be_specific + expect(standard_dep.requirement).to eq(Gem::Requirement.new([">= 0"])) end it "generates a default .standard.yml" do @@ -746,13 +748,14 @@ def create_temporary_dir(dir) expect(ignore_paths).to include("spec/") end - it "depends on a specific version of rspec in generated Gemfile" do + it "depends on a non-specific version of rspec in generated Gemfile" do allow(Bundler::SharedHelpers).to receive(:find_gemfile).and_return(bundled_app_gemfile) builder = Bundler::Dsl.new builder.eval_gemfile(bundled_app("#{gem_name}/Gemfile")) builder.dependencies rspec_dep = builder.dependencies.find {|d| d.name == "rspec" } expect(rspec_dep).not_to be_specific + expect(rspec_dep.requirement).to eq(Gem::Requirement.new([">= 0"])) end end @@ -831,13 +834,14 @@ def create_temporary_dir(dir) bundle "gem #{gem_name} --test=minitest" end - it "depends on a specific version of minitest" do + it "depends on a non-specific version of minitest" do allow(Bundler::SharedHelpers).to receive(:find_gemfile).and_return(bundled_app_gemfile) builder = Bundler::Dsl.new builder.eval_gemfile(bundled_app("#{gem_name}/Gemfile")) builder.dependencies minitest_dep = builder.dependencies.find {|d| d.name == "minitest" } expect(minitest_dep).not_to be_specific + expect(minitest_dep.requirement).to eq(Gem::Requirement.new([">= 0"])) end it "builds spec skeleton" do @@ -892,13 +896,14 @@ def create_temporary_dir(dir) bundle "gem #{gem_name} --test=test-unit" end - it "depends on a specific version of test-unit" do + it "depends on a non-specific version of test-unit" do allow(Bundler::SharedHelpers).to receive(:find_gemfile).and_return(bundled_app_gemfile) builder = Bundler::Dsl.new builder.eval_gemfile(bundled_app("#{gem_name}/Gemfile")) builder.dependencies test_unit_dep = builder.dependencies.find {|d| d.name == "test-unit" } expect(test_unit_dep).not_to be_specific + expect(test_unit_dep.requirement).to eq(Gem::Requirement.new([">= 0"])) end it "builds spec skeleton" do