Module: PathMapper::Node::File::Erb

Includes:
Dir::Erb
Included in:
FileNode
Defined in:
lib/path_mapper/node/file/erb.rb

Instance Attribute Summary

Attributes included from Dir::Erb

#erb_options

Instance Method Summary collapse

Methods included from Dir::Erb

#initialize

Instance Method Details

#erb(script) ⇒ Object



11
12
13
14
15
# File 'lib/path_mapper/node/file/erb.rb', line 11

def erb(script)
  ERB.new(script).result(OpenStruct.new(self.erb_options).instance_eval { binding })
rescue Exception => e
  raise NetStatus::Exception, { code: :erb_error, data: { error: "#{e.backtrace.first.sub! '(erb)', self.path.to_s}: #{e.message}" } }
end

#erb_options=(options) ⇒ Object



7
8
9
# File 'lib/path_mapper/node/file/erb.rb', line 7

def erb_options=(options)
  @erb_options = options
end

#valueObject



17
18
19
20
21
22
23
# File 'lib/path_mapper/node/file/erb.rb', line 17

def value
  if self.name.end_with?('.erb')
    self.erb(super)
  else
    super
  end
end