class Trekky::Source
Attributes
context[R]
errors[R]
output[R]
path[R]
Public Class Methods
new(context, path)
click to toggle source
# File lib/trekky/source.rb, line 7 def initialize(context, path) @path = path @context = context @errors = [] end
Public Instance Methods
add_error(error)
click to toggle source
# File lib/trekky/source.rb, line 33 def add_error(error) STDOUT.puts "ERROR: #{error.message} (#{path})" @errors << error nil end
clear_errors()
click to toggle source
# File lib/trekky/source.rb, line 39 def clear_errors @errors = [] end
extension()
click to toggle source
# File lib/trekky/source.rb, line 25 def extension File.extname(path) end
input()
click to toggle source
# File lib/trekky/source.rb, line 29 def input File.read(path) end
render(&block)
click to toggle source
# File lib/trekky/source.rb, line 13 def render(&block) raise NotImplementedError end
render_error(error)
click to toggle source
# File lib/trekky/source.rb, line 49 def render_error(error) Haml::Engine.new(<<-INPUT.gsub(" "*8, "")).render(self, {error: error}) %h1 File: #{path} %h3 Error: #{error.message} %pre %code - error.backtrace.each do |line| = line %br INPUT end
render_errors()
click to toggle source
# File lib/trekky/source.rb, line 43 def render_errors @errors.map do |error| render_error(error) end.join("<br/>") end
type()
click to toggle source
# File lib/trekky/source.rb, line 21 def type extension[1..-1].intern end
valid?()
click to toggle source
# File lib/trekky/source.rb, line 17 def valid? @errors.empty? end