class Pessimize::Gemfile::TokenCompiler
Attributes
offset[RW]
tokens[RW]
Public Class Methods
new(tokens)
click to toggle source
# File lib/pessimize/gemfile.rb, line 49 def initialize(tokens) self.tokens = tokens.dup self.offset = 0 end
Public Instance Methods
compile_to_string(gems, gem_token_map)
click to toggle source
# 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
Protected Instance Methods
insert_gem_into_tokens!(gem, token_start, token_end)
click to toggle source
# File lib/pessimize/gemfile.rb, line 67 def insert_gem_into_tokens!(gem, token_start, token_end) self.tokens[(offset + token_start)..(offset + token_end)] = gem.tokens self.offset += gem.tokens.length - (token_end - token_start + 1) end