Skip to content

Commit

Permalink
[rubygems/rubygems] Fix typo: eglible -> eligible.
Browse files Browse the repository at this point in the history
  • Loading branch information
simi authored and hsbt committed Oct 3, 2023
1 parent 798083f commit 0046c67
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 54 deletions.
2 changes: 1 addition & 1 deletion lib/rubygems/commands/install_command.rb
Expand Up @@ -171,7 +171,7 @@ def execute

show_installed

say update_suggestion if eglible_for_update?
say update_suggestion if eligible_for_update?

terminate_interaction exit_code
end
Expand Down
8 changes: 4 additions & 4 deletions lib/rubygems/update_suggestion.rb
Expand Up @@ -28,9 +28,9 @@ def update_suggestion
end

##
# Determines if current environment is eglible for update suggestion.
# Determines if current environment is eligible for update suggestion.

def eglible_for_update?
def eligible_for_update?
# explicit opt-out
return false if Gem.configuration[:prevent_update_suggestion]
return false if ENV["RUBYGEMS_PREVENT_UPDATE_SUGGESTION"]
Expand All @@ -53,11 +53,11 @@ def eglible_for_update?

# compare current and latest version, this is the part where
# latest rubygems spec is fetched from remote
(Gem.rubygems_version < Gem.latest_rubygems_version).tap do |eglible|
(Gem.rubygems_version < Gem.latest_rubygems_version).tap do |eligible|
# store the time of last successful check into state file
Gem.configuration.last_update_check = check_time

return eglible
return eligible
end
rescue StandardError # don't block install command on any problem
false
Expand Down
2 changes: 1 addition & 1 deletion test/rubygems/test_gem_commands_install_command.rb
Expand Up @@ -1554,7 +1554,7 @@ def test_explain_platform_ruby_ignore_dependencies
end

def test_suggest_update_if_enabled
TestUpdateSuggestion.with_eglible_environment(cmd: @cmd) do
TestUpdateSuggestion.with_eligible_environment(cmd: @cmd) do
spec_fetcher do |fetcher|
fetcher.gem "a", 2
end
Expand Down
96 changes: 48 additions & 48 deletions test/rubygems/test_gem_update_suggestion.rb
Expand Up @@ -15,13 +15,13 @@ def setup
@week = 7 * 24 * @minute
end

def with_eglible_environment(**params)
self.class.with_eglible_environment(**params) do
def with_eligible_environment(**params)
self.class.with_eligible_environment(**params) do
yield
end
end

def self.with_eglible_environment(
def self.with_eligible_environment(
tty: true,
rubygems_version: Gem::Version.new("1.2.3"),
latest_rubygems_version: Gem::Version.new("2.0.0"),
Expand Down Expand Up @@ -65,10 +65,10 @@ def test_update_suggestion
end
end

def test_eglible_for_update
with_eglible_environment(cmd: @cmd) do
def test_eligible_for_update
with_eligible_environment(cmd: @cmd) do
Time.stub :now, 123_456_789 do
assert_predicate @cmd, :eglible_for_update?
assert_predicate @cmd, :eligible_for_update?
assert_equal 123_456_789, Gem.configuration.last_update_check

# test last check is written to config file
Expand All @@ -77,133 +77,133 @@ def test_eglible_for_update
end
end

def test_eglible_for_update_is_not_annoying_when_new_version_is_released
def test_eligible_for_update_is_not_annoying_when_new_version_is_released
current_version = Gem::Version.new("1.2.0")
latest_version = current_version

# checking for first time, it is not eglible since new version
# checking for first time, it is not eligible since new version
# is not released yet and stored
with_eglible_environment(cmd: @cmd, rubygems_version: current_version, latest_rubygems_version: latest_version) do
with_eligible_environment(cmd: @cmd, rubygems_version: current_version, latest_rubygems_version: latest_version) do
Time.stub :now, @start_time do
refute_predicate @cmd, :eglible_for_update?
refute_predicate @cmd, :eligible_for_update?
assert_equal @start_time, Gem.configuration.last_update_check
end
end

# checking next week, it is not eglible since new version
# checking next week, it is not eligible since new version
# is not released yet and timestamp is stored
with_eglible_environment(
with_eligible_environment(
cmd: @cmd,
rubygems_version: current_version,
latest_rubygems_version: latest_version,
reset_last_update_check: false
) do
Time.stub :now, @start_time + @week do
refute_predicate @cmd, :eglible_for_update?
refute_predicate @cmd, :eligible_for_update?
assert_equal @start_time + @week, Gem.configuration.last_update_check
end
end

# pretend new version is released
latest_version = Gem::Version.new("1.3.0")

# checking later same next week, it is not eglible even new version
# checking later same next week, it is not eligible even new version
# is released and timestamp is not stored
with_eglible_environment(
with_eligible_environment(
cmd: @cmd,
rubygems_version: current_version,
latest_rubygems_version: latest_version,
reset_last_update_check: false
) do
Time.stub :now, @start_time + @week + @minute do
refute_predicate @cmd, :eglible_for_update?
refute_predicate @cmd, :eligible_for_update?
assert_equal @start_time + @week, Gem.configuration.last_update_check
end
end
end

def test_eglible_for_update_is_not_annoying_when_not_upgraded
with_eglible_environment(cmd: @cmd) do
# checking for first time, it is eglible and stored
def test_eligible_for_update_is_not_annoying_when_not_upgraded
with_eligible_environment(cmd: @cmd) do
# checking for first time, it is eligible and stored
Time.stub :now, @start_time do
assert_predicate @cmd, :eglible_for_update?
assert_predicate @cmd, :eligible_for_update?
assert_equal @start_time, Gem.configuration.last_update_check
end

# checking minute later is not eglible and not stored
# checking minute later is not eligible and not stored
Time.stub :now, @start_time + @minute do
refute_predicate @cmd, :eglible_for_update?
refute_predicate @cmd, :eligible_for_update?
assert_equal @start_time, Gem.configuration.last_update_check
end

# checking week later is eglible again and stored
# checking week later is eligible again and stored
Time.stub :now, @start_time + @week do
assert_predicate @cmd, :eglible_for_update?
assert_predicate @cmd, :eligible_for_update?
assert_equal @start_time + @week, Gem.configuration.last_update_check
end
end
end

def test_eglible_for_update_prevent_config
with_eglible_environment(cmd: @cmd) do
def test_eligible_for_update_prevent_config
with_eligible_environment(cmd: @cmd) do
original_config = Gem.configuration[:prevent_update_suggestion]
Gem.configuration[:prevent_update_suggestion] = true
refute_predicate @cmd, :eglible_for_update?
refute_predicate @cmd, :eligible_for_update?
ensure
Gem.configuration[:prevent_update_suggestion] = original_config
end
end

def test_eglible_for_update_prevent_env
with_eglible_environment(cmd: @cmd) do
def test_eligible_for_update_prevent_env
with_eligible_environment(cmd: @cmd) do
original_env = ENV["RUBYGEMS_PREVENT_UPDATE_SUGGESTION"]
ENV["RUBYGEMS_PREVENT_UPDATE_SUGGESTION"] = "yes"
refute_predicate @cmd, :eglible_for_update?
refute_predicate @cmd, :eligible_for_update?
ensure
ENV["RUBYGEMS_PREVENT_UPDATE_SUGGESTION"] = original_env
end
end

def test_eglible_for_update_non_tty
with_eglible_environment(tty: false, cmd: @cmd) do
refute_predicate @cmd, :eglible_for_update?
def test_eligible_for_update_non_tty
with_eligible_environment(tty: false, cmd: @cmd) do
refute_predicate @cmd, :eligible_for_update?
end
end

def test_eglible_for_update_for_prerelease
with_eglible_environment(rubygems_version: Gem::Version.new("1.0.0-rc1"), cmd: @cmd) do
refute_predicate @cmd, :eglible_for_update?
def test_eligible_for_update_for_prerelease
with_eligible_environment(rubygems_version: Gem::Version.new("1.0.0-rc1"), cmd: @cmd) do
refute_predicate @cmd, :eligible_for_update?
end
end

def test_eglible_for_update_disabled_update
with_eglible_environment(cmd: @cmd) do
def test_eligible_for_update_disabled_update
with_eligible_environment(cmd: @cmd) do
original_disable = Gem.disable_system_update_message
Gem.disable_system_update_message = "disabled"
refute_predicate @cmd, :eglible_for_update?
refute_predicate @cmd, :eligible_for_update?
ensure
Gem.disable_system_update_message = original_disable
end
end

def test_eglible_for_update_on_ci
with_eglible_environment(ci: true, cmd: @cmd) do
refute_predicate @cmd, :eglible_for_update?
def test_eligible_for_update_on_ci
with_eligible_environment(ci: true, cmd: @cmd) do
refute_predicate @cmd, :eligible_for_update?
end
end

def test_eglible_for_update_unwrittable_config
with_eglible_environment(cmd: @cmd) do
def test_eligible_for_update_unwrittable_config
with_eligible_environment(cmd: @cmd) do
Gem.configuration.stub :state_file_writable?, false do
refute_predicate @cmd, :eglible_for_update?
refute_predicate @cmd, :eligible_for_update?
end
end
end

def test_eglible_for_update_notification_delay
with_eglible_environment(cmd: @cmd) do
def test_eligible_for_update_notification_delay
with_eligible_environment(cmd: @cmd) do
Gem.configuration.last_update_check = Time.now.to_i
refute_predicate @cmd, :eglible_for_update?
refute_predicate @cmd, :eligible_for_update?
end
end
end

0 comments on commit 0046c67

Please sign in to comment.