Class: Semverve::VersionMatchPolicy

Inherits:
Object
  • Object
show all
Defined in:
lib/semverve/version_match_policy.rb

Overview

Decides whether a discovered version should be reported or fixed.

Instance Method Summary collapse

Constructor Details

#initialize(current_version:, match_mode:, target_version: nil) ⇒ Semverve::VersionMatchPolicy

Initializes a version match policy.

Parameters:



17
18
19
20
21
# File 'lib/semverve/version_match_policy.rb', line 17

def initialize(current_version:, match_mode:, target_version: nil)
  @current_version = current_version
  @match_mode = match_mode.to_sym
  @target_version = target_version
end

Instance Method Details

#report?(version) ⇒ Boolean

Whether the version should be reported or fixed.

Parameters:

Returns:

  • (Boolean)


29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/semverve/version_match_policy.rb', line 29

def report?(version)
  return version == target_version if target_version

  case match_mode
  when :older
    version < current_version
  when :non_current
    version != current_version
  else
    raise Error, "Unknown version match mode #{match_mode.inspect}. Use :older or :non_current."
  end
end