Class: AwsMust::Template
- Inherits:
-
Mustache
- Object
- Mustache
- AwsMust::Template
- Includes:
- Utils::MyLogger
- Defined in:
- lib/aws-must/template.rb
Constant Summary collapse
- PROGNAME =
progname for logger
"template"- @@template_path =
static
nil- @@template_extension =
directory where templates stored
"mustache"
Constants included from Utils::MyLogger
Instance Attribute Summary collapse
-
#partials ⇒ Object
writeonly
instance.
-
#templates ⇒ Object
writeonly
f: template-name –> template string.
Instance Method Summary collapse
-
#get_partial(name) ⇒ Object
cache @partials - for easier extension.
-
#get_template(name) ⇒ Object
hide @templates - for easier extension.
-
#initialize(options = {}) ⇒ Template
constructor
—————————————————————— Constructor.
-
#partial(name) ⇒ Object
method used by mustache framework - delegate to ‘get_partial’.
-
#to_str(template_name = nil, data = nil) ⇒ Object
—————————————————————— Services.
Methods included from Utils::MyLogger
Constructor Details
#initialize(options = {}) ⇒ Template
Constructor
26 27 28 29 30 31 32 |
# File 'lib/aws-must/template.rb', line 26 def initialize( ={} ) @logger = getLogger( PROGNAME, ) @logger.info( "#{__FILE__}.#{__method__} created" ) @logger.debug( "#{__FILE__}.#{__method__}, options='#{}" ) # for mustache templates @@template_path = [:template_path] if [:template_path] end |
Instance Attribute Details
#partials=(value) ⇒ Object (writeonly)
instance
20 21 22 |
# File 'lib/aws-must/template.rb', line 20 def partials=(value) @partials = value end |
#templates=(value) ⇒ Object (writeonly)
f: template-name –> template string
21 22 23 |
# File 'lib/aws-must/template.rb', line 21 def templates=(value) @templates = value end |
Instance Method Details
#get_partial(name) ⇒ Object
cache @partials - for easier extension
60 61 62 63 64 65 66 67 |
# File 'lib/aws-must/template.rb', line 60 def get_partial( name ) @logger.debug( "#{__FILE__}.#{__method__} name=#{name}" ) return @partials[name] if @partials && @partials[name] partial_file = "#{@@template_path}/#{name}.#{template_extension}" @logger.info( "#{__FILE__}.#{__method__} read partial_file=#{partial_file}" ) File.read( partial_file ) end |
#get_template(name) ⇒ Object
hide @templates - for easier extension
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/aws-must/template.rb', line 70 def get_template( name ) @logger.debug( "#{__FILE__}.#{__method__} name=#{name}" ) return @templates[name] if @templates && @templates[name] if ! File.exists?( @@template_path ) then raise <<-eos No such directory '#{@@template_path}'. Use opition -t to point to an existing directory. eos end template_path = "#{@@template_path}/#{name}.#{@@template_extension}" @logger.info( "#{__FILE__}.#{__method__} read template_path=#{template_path}" ) if ! File.exists?( template_path ) then raise <<-eos No such file '#{template_path}'. Use opition -t to point to a directory, which contains file '#{name}.#{@@template_extension}' eos end File.read( template_path ) end |
#partial(name) ⇒ Object
method used by mustache framework - delegate to ‘get_partial’
53 54 55 56 57 |
# File 'lib/aws-must/template.rb', line 53 def partial(name) @logger.debug( "#{__FILE__}.#{__method__} name=#{name}" ) # File.read("#{template_path}/#{name}.#{template_extension}") get_partial( name ) end |
#to_str(template_name = nil, data = nil) ⇒ Object
Services
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/aws-must/template.rb', line 37 def to_str( template_name=nil, data=nil ) @logger.debug( "#{__method__}: template_name=#{template_name}, data=#{data}" ) if template_name template = get_template( template_name ) render( template, data ) elsif data render( data ) else puts @templates end end |