Class: Dependabot::Terraform::Version

Inherits:
Version
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/terraform/version.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version) ⇒ Version



21
22
23
24
25
26
27
# File 'lib/dependabot/terraform/version.rb', line 21

def initialize(version)
  @version_string = T.let(version.to_s, String)
  version = Version.remove_leading_v(version)
  version = Version.remove_backport(version)

  super
end

Class Method Details

.correct?(version) ⇒ Boolean



40
41
42
43
44
45
46
47
# File 'lib/dependabot/terraform/version.rb', line 40

def self.correct?(version)
  version = Version.remove_leading_v(version)
  version = Version.remove_backport(version)

  return false if version.to_s.strip.empty?

  super
end

.new(version) ⇒ Object



30
31
32
# File 'lib/dependabot/terraform/version.rb', line 30

def self.new(version)
  T.cast(super, Dependabot::Terraform::Version)
end

.remove_backport(version) ⇒ Object



57
58
59
60
61
# File 'lib/dependabot/terraform/version.rb', line 57

def self.remove_backport(version)
  return version.split("+").first if version.is_a?(String) && version.include?("+")

  version
end

.remove_leading_v(version) ⇒ Object



50
51
52
53
54
# File 'lib/dependabot/terraform/version.rb', line 50

def self.remove_leading_v(version)
  return version.gsub(/^v/, "") if version.is_a?(String)

  version
end

Instance Method Details

#to_sObject



35
36
37
# File 'lib/dependabot/terraform/version.rb', line 35

def to_s
  @version_string
end