Class: Pessimize::Gem

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(gem_tokens) ⇒ Gem

Returns a new instance of Gem.


6
7
8
9
10
# File 'lib/pessimize/gem.rb', line 6

def initialize(gem_tokens)
  self.original_tokens = gem_tokens
  parse_name
  parse_version
end

Instance Attribute Details

#nameObject

Returns the value of attribute name.


3
4
5
# File 'lib/pessimize/gem.rb', line 3

def name
  @name
end

#original_tokensObject

Returns the value of attribute original_tokens.


3
4
5
# File 'lib/pessimize/gem.rb', line 3

def original_tokens
  @original_tokens
end

#versionObject

Returns the value of attribute version.


4
5
6
# File 'lib/pessimize/gem.rb', line 4

def version
  @version
end

Instance Method Details

#to_sObject


22
23
24
# File 'lib/pessimize/gem.rb', line 22

def to_s
  tokens.inject("") { |a, t| a << t[2] }
end

#tokensObject


12
13
14
15
16
17
18
19
20
# File 'lib/pessimize/gem.rb', line 12

def tokens
  compiled_tokens = original_tokens.dup
  if version_index
    compiled_tokens[version_index][2] = version
  elsif version
    compiled_tokens[after_name_index..0] = version_tokens
  end
  compiled_tokens
end