class Opal::Rewriter

Public Class Methods

delete(rewriter) click to toggle source
# File lib/opal/rewriter.rb, line 35
def delete(rewriter)
  list.delete(rewriter)
end
disable(except: nil) { || ... } click to toggle source
# File lib/opal/rewriter.rb, line 39
def disable(except: nil)
  old_disabled = @disabled
  @disabled = except || true
  yield
ensure
  @disabled = old_disabled
end
disabled?() click to toggle source
# File lib/opal/rewriter.rb, line 47
def disabled?
  @disabled == true
end
list() click to toggle source
# File lib/opal/rewriter.rb, line 27
def list
  @list ||= []
end
new(sexp) click to toggle source
# File lib/opal/rewriter.rb, line 76
def initialize(sexp)
  @sexp = sexp
end
rewritter_disabled?(rewriter) click to toggle source
# File lib/opal/rewriter.rb, line 51
def rewritter_disabled?(rewriter)
  return false if @disabled == false
  @disabled != rewriter
end
use(rewriter) click to toggle source
# File lib/opal/rewriter.rb, line 31
def use(rewriter)
  list << rewriter
end

Public Instance Methods

process() click to toggle source
# File lib/opal/rewriter.rb, line 80
def process
  return @sexp if self.class.disabled?

  self.class.list.each do |rewriter_class|
    next if self.class.rewritter_disabled?(rewriter_class)
    rewriter = rewriter_class.new
    @sexp = rewriter.process(@sexp)
  end

  @sexp
end