Module: Gemvault::GemReference

Included in:
AnyVersion, SpecificVersion
Defined in:
lib/gemvault/gem_reference.rb,
lib/gemvault/gem_reference/parser.rb,
lib/gemvault/gem_reference/any_version.rb,
lib/gemvault/gem_reference/specific_version.rb

Overview

The role shared by every reference to a gem in a vault: it decides whether it matches? a given GemEntry. Two value objects play the role -- AnyVersion (no version constraint) and SpecificVersion (an exact Gem::Version). Players include GemReference to declare the role; the matches? contract is enforced by the "a gem reference" shared examples. parse is the factory that turns raw CLI input into a player.

Defined Under Namespace

Classes: AnyVersion, NonExactVersionError, Parser, SpecificVersion

Class Method Summary collapse

Class Method Details

.parse(input, version: nil) ⇒ Object



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

def self.parse(input, version: nil)
  Parser.new(input:, version:).call
end