Class: Gemvault::GemReference::SpecificVersion

Inherits:
GemReference
  • Object
show all
Defined in:
lib/gemvault/gem_reference/specific_version.rb

Overview

Matches one exact version of a named gem. version: is always a Gem::Version (never nil, never a String) .parse validates and constructs it before calling .new.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, version:) ⇒ SpecificVersion

Returns a new instance of SpecificVersion.



9
10
11
12
# File 'lib/gemvault/gem_reference/specific_version.rb', line 9

def initialize(name:, version:)
  super(name: name)
  @version = version
end

Instance Attribute Details

#versionObject (readonly)

Returns the value of attribute version.



7
8
9
# File 'lib/gemvault/gem_reference/specific_version.rb', line 7

def version
  @version
end

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



14
15
16
# File 'lib/gemvault/gem_reference/specific_version.rb', line 14

def ==(other)
  super && version == other.version
end

#deconstruct_keys(keys) ⇒ Object



23
24
25
26
# File 'lib/gemvault/gem_reference/specific_version.rb', line 23

def deconstruct_keys(keys)
  data = { name: name, version: version }
  keys.nil? ? data : data.slice(*keys)
end

#hashObject



19
20
21
# File 'lib/gemvault/gem_reference/specific_version.rb', line 19

def hash
  [self.class, name, version].hash
end