Class: DTK::Network::Client::ModuleRef::Version

Inherits:
Object
  • Object
show all
Defined in:
lib/client/module_ref/version.rb,
lib/client/module_ref/version/source.rb

Defined Under Namespace

Classes: Source

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version = '') ⇒ Version

Returns a new instance of Version.



6
7
8
9
10
11
12
# File 'lib/client/module_ref/version.rb', line 6

def initialize(version = '')
  @full_version     = version.strip
  @str_version      = ''
  @requirement      = '='
  @semantic_version = nil
  parse
end

Instance Attribute Details

#full_versionObject (readonly)

Returns the value of attribute full_version.



4
5
6
# File 'lib/client/module_ref/version.rb', line 4

def full_version
  @full_version
end

#requirementObject (readonly)

Returns the value of attribute requirement.



4
5
6
# File 'lib/client/module_ref/version.rb', line 4

def requirement
  @requirement
end

#semantic_versionObject (readonly)

Returns the value of attribute semantic_version.



4
5
6
# File 'lib/client/module_ref/version.rb', line 4

def semantic_version
  @semantic_version
end

#str_versionObject (readonly)

Returns the value of attribute str_version.



4
5
6
# File 'lib/client/module_ref/version.rb', line 4

def str_version
  @str_version
end

Class Method Details

.is_semantic_version?(version) ⇒ Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/client/module_ref/version.rb', line 36

def self.is_semantic_version?(version)
  SemVer.parse(version)
end

Instance Method Details

#is_semantic_version?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/client/module_ref/version.rb', line 32

def is_semantic_version?
  !!@semantic_version
end

#satisfied_by?(version = nil) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
30
# File 'lib/client/module_ref/version.rb', line 27

def satisfied_by?(version = nil)
  return unless version
  match_requirement?(version)
end

#versions_in_range(versions) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/client/module_ref/version.rb', line 14

def versions_in_range(versions)
  v_in_range = []
  versions   = [versions] unless versions.is_a?(Array)

  versions.each do |version|
    if satisfied_by?(version)
      v_in_range << version
    end
  end

  v_in_range
end