Class: ConfigTemplates::Models::Component

Inherits:
Object
  • Object
show all
Defined in:
lib/config_templates/models/component.rb

Instance Method Summary collapse

Constructor Details

#initialize(template, context, validator, engine) ⇒ Component

Returns a new instance of Component.



3
4
5
6
7
8
9
# File 'lib/config_templates/models/component.rb', line 3

def initialize(template, context, validator, engine)
  @template = template
  @context = context
  @validator = validator
  @engine = engine
  @child = false
end

Instance Method Details

#child!Object



15
16
17
# File 'lib/config_templates/models/component.rb', line 15

def child!
  @child = true
end

#child?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/config_templates/models/component.rb', line 11

def child?
  @child
end

#destination_pathObject



23
24
25
# File 'lib/config_templates/models/component.rb', line 23

def destination_path
  @engine.destination_path @template.destination_path
end

#renderObject



33
34
35
# File 'lib/config_templates/models/component.rb', line 33

def render
  @render ||= @engine.evaluate @template.content, @context
end

#source_pathObject



19
20
21
# File 'lib/config_templates/models/component.rb', line 19

def source_path
  @template.source_path
end

#validate!Object



27
28
29
30
31
# File 'lib/config_templates/models/component.rb', line 27

def validate!
  unless @validator.valid? render
    raise ::ConfigTemplates::Errors::InvalidTemplate, source_path
  end
end