module EndView::ClassMethods

Attributes

template[RW]

Public Instance Methods

compile_template(opts = {}) click to toggle source
# File lib/end_view.rb, line 42
def compile_template(opts = {})
  file = opts[:file] || caller_file(opts[:start] || 3)
  template_engine = opts[:template_engine] || EndView.default_engine
  @template = template_engine.new(file) { data(file) }
end
inherited(child) click to toggle source
Calls superclass method
# File lib/end_view.rb, line 36
def inherited(child)
  super
  child.template = template
  child.layout(retrieve_layout)
end
layout(layout) click to toggle source
# File lib/end_view.rb, line 48
def layout(layout)
  @layout = layout
end
retrieve_layout() click to toggle source
# File lib/end_view.rb, line 52
def retrieve_layout
  @layout
end

Private Instance Methods

caller_file(start) click to toggle source
# File lib/end_view.rb, line 58
def caller_file(start)
  caller(start).first.split(/:\d*:in/).first
end
data(file) click to toggle source
# File lib/end_view.rb, line 62
def data(file)
  IO.read(file).gsub("\r\n", "\n").split(/^__END__$/).last
end