Class: PDK::TemplateFile

Inherits:
OpenStruct
  • Object
show all
Defined in:
lib/pdk/template_file.rb

Instance Method Summary collapse

Constructor Details

#initialize(template_file, data = {}) ⇒ TemplateFile

Initialises the TemplateFile object with the path to the template file and the data to be used when rendering the template.

the template when rendering. the template as an instance variable ‘@configs` in order to maintain compatibility with modulesync.

Parameters:

  • template_file (String)

    The path on disk to the template file.

  • data (Hash{Symbol => Object}) (defaults to: {})

    The data that should be provided to

Options Hash (data):

  • :configs (Object)

    The value of this key will be provided to



16
17
18
19
20
21
22
23
24
# File 'lib/pdk/template_file.rb', line 16

def initialize(template_file, data = {})
  @template_file = template_file

  if data.key?(:configs)
    @configs = data[:configs]
  end

  super(data)
end

Instance Method Details

#config_for(path) ⇒ Object



47
48
49
50
51
# File 'lib/pdk/template_file.rb', line 47

def config_for(path)
  return unless respond_to?(:template_dir)

  template_dir.config_for(path)
end

#renderString

Renders the template by calling the appropriate engine based on the file extension.

If the template has an ‘.erb` extension, the content of the template file will be treated as an ERB template. All other extensions are treated as plain text.

Returns:

  • (String)

    The rendered template

Raises:

  • (ArgumentError)

    If the template file does not exist or can not be



38
39
40
41
42
43
44
45
# File 'lib/pdk/template_file.rb', line 38

def render
  case File.extname(@template_file)
  when '.erb'
    render_erb
  else
    render_plain
  end
end