Class: HolePicker::Gem

Inherits:
Object
  • Object
show all
Defined in:
lib/holepicker/gem.rb

Constant Summary collapse

GEM_LINE_PATTERN =
/([\w\-]+) \(([\d\w]+(\.[\d\w]+)*)(\-\w+)*\)/

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(line) ⇒ Gem

Returns a new instance of Gem.



9
10
11
12
13
14
15
# File 'lib/holepicker/gem.rb', line 9

def initialize(line)
  result = line.match(GEM_LINE_PATTERN)
  raise "Invalid gem format: #{line}" unless result

  @name = result[1]
  @version = ::Gem::Version.new(result[2])
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



7
8
9
# File 'lib/holepicker/gem.rb', line 7

def name
  @name
end

#versionObject (readonly)

Returns the value of attribute version.



7
8
9
# File 'lib/holepicker/gem.rb', line 7

def version
  @version
end

Instance Method Details

#to_sObject



17
18
19
# File 'lib/holepicker/gem.rb', line 17

def to_s
  "#{name} (#{version})"
end