class ConsoleLog::Console::Buffered

Public Class Methods

new() click to toggle source
# File lib/console.log/console.rb, line 21
def initialize
  @buffer = []
end

Public Instance Methods

each(*a, &b) click to toggle source
# File lib/console.log/console.rb, line 32
def each(*a, &b)
  @buffer.each(*a, &b)
end
to_script() click to toggle source
# File lib/console.log/console.rb, line 36
def to_script
  "<script>#{map{ |(*call)| log_line(*call) }.join("\n")}</script>"
end

Private Instance Methods

log_line(fn, caller, args) click to toggle source
# File lib/console.log/console.rb, line 42
def log_line(fn, caller, args)
  code = "console[#{fn.to_json}].apply(console, #{args.to_json})"
  file, line, _ = caller.split(":")
  file = file.sub(Rails.root.to_s + "/", "")
  space = "\n" * (line.to_i - 1)
  comment = "\n//# sourceURL=#{file}"
  "eval(#{[space, code, comment].join.to_json})".gsub("</script>", "<\\u002Fscript>")
end