Class: Pessimize::Gemfile::TokenCompiler

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

Instance Method Summary collapse

Constructor Details

#initialize(tokens) ⇒ TokenCompiler

Returns a new instance of TokenCompiler.



49
50
51
52
# File 'lib/pessimize/gemfile.rb', line 49

def initialize(tokens)
  self.tokens = tokens.dup
  self.offset = 0
end

Instance Method Details

#compile_to_string(gems, gem_token_map) ⇒ Object



54
55
56
57
58
59
60
61
62
# File 'lib/pessimize/gemfile.rb', line 54

def compile_to_string(gems, gem_token_map)
  gem_token_map.zip(gems).each do |(token_start, token_end), gem|
    insert_gem_into_tokens! gem, token_start, token_end
  end

  tokens.reduce("") { |a, e|
    a + e[2]
  }
end