Class: YleTf::VersionRequirement

Inherits:
Object
  • Object
show all
Defined in:
lib/yle_tf/version_requirement.rb

Overview

Helper class for comparing versions

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(requirement) ⇒ VersionRequirement

Returns a new instance of VersionRequirement.



13
14
15
# File 'lib/yle_tf/version_requirement.rb', line 13

def initialize(requirement)
  @requirement = requirement && Gem::Requirement.new(*requirement)
end

Instance Attribute Details

#requirementObject (readonly)

Returns the value of attribute requirement.



11
12
13
# File 'lib/yle_tf/version_requirement.rb', line 11

def requirement
  @requirement
end

Class Method Details

.pre_0_9?(terraform_version) ⇒ Boolean

Checks if the specified Terrform version is older than 0.9

Returns:

  • (Boolean)


7
8
9
# File 'lib/yle_tf/version_requirement.rb', line 7

def self.pre_0_9?(terraform_version)
  new('< 0.9.0-beta').satisfied_by?(terraform_version)
end

Instance Method Details

#satisfied_by?(version) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/yle_tf/version_requirement.rb', line 17

def satisfied_by?(version)
  !requirement || requirement.satisfied_by?(Gem::Version.new(version))
end

#to_sObject



21
22
23
# File 'lib/yle_tf/version_requirement.rb', line 21

def to_s
  requirement.to_s
end