Class: Malt::Engines::Abstract

Inherits:
Object
  • Object
show all
Includes:
Kernel
Defined in:
lib/malt/engines/abstract.rb

Overview

Abstract Template class serves as the base class for all other Template classes.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(settings = {}) ⇒ Abstract

Override this method to load rendering engine library.



46
47
48
49
50
51
52
53
# File 'lib/malt/engines/abstract.rb', line 46

def initialize(settings={})
  @settings = settings.rekey

  @cache  = {}
  @source = {}

  initialize_engine
end

Instance Attribute Details

#settingsObject (readonly)

Access to the options given to the initializer. Returns an OpenStruct object.



57
58
59
# File 'lib/malt/engines/abstract.rb', line 57

def settings
  @settings
end

Class Method Details

.default(*exts) ⇒ Object

Register and set as the default for given extensions.



38
39
40
41
42
43
# File 'lib/malt/engines/abstract.rb', line 38

def self.default(*exts)
  register(*exts)
  exts.each do |ext|
    Malt.config.engine[ext.to_sym] = self
  end
end

.register(*exts) ⇒ Object

Register the class to an extension type.



33
34
35
# File 'lib/malt/engines/abstract.rb', line 33

def self.register(*exts)
  Engines.register(self, *exts)
end

Instance Method Details

#cache?Boolean

Returns:

  • (Boolean)


74
75
76
# File 'lib/malt/engines/abstract.rb', line 74

def cache?
  !settings[:nocache]
end

#compile(db, &yld) ⇒ Object



69
70
71
# File 'lib/malt/engines/abstract.rb', line 69

def compile(db, &yld)
  raise "not implemented"
end

#render(text, options = {}) ⇒ Object

format, text, file, db, &yld)



60
61
62
63
64
65
66
# File 'lib/malt/engines/abstract.rb', line 60

def render(text, options={}) #format, text, file, db, &yld)
  if format = options[:format]
    raise "unsupported rendering -- #{format}"
  else
    raise "unsupported rendering"
  end
end