Module: Angelo::Tilt::ERB
- Defined in:
- lib/angelo/tilt/erb.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
-
.included(base) ⇒ Object
hrm, sneaky.
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
hrm, sneaky
10 11 12 |
# File 'lib/angelo/tilt/erb.rb', line 10 def self.included base base.extend ClassMethods end |
Instance Method Details
#erb(view, opts = {locals: {}}) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/angelo/tilt/erb.rb', line 51 def erb view, opts = {locals: {}} locals = Hash === opts[:locals] ? opts[:locals] : {} render = case view when String ->{ view } when Symbol ->{self.class.templates[view].render self, locals} end case opts[:layout] when false render[] when Symbol if lt = self.class.layout_templates[opts[:layout]] lt.render self, locals, &render else raise ArgumentError.new "unknown layout - :#{opts[:layout]}" end else if self.class.default_layout self.class.default_layout.render self, locals, &render else render[] end end end |