Class: TemplateInput::InputResolver

Inherits:
Object
  • Object
show all
Defined in:
app/models/template_input.rb

Instance Method Summary collapse

Constructor Details

#initialize(input, renderer) ⇒ InputResolver

Returns a new instance of InputResolver.



64
65
66
67
# File 'app/models/template_input.rb', line 64

def initialize(input, renderer)
  @input = input
  @renderer = renderer
end

Instance Method Details

#previewObject



69
70
71
# File 'app/models/template_input.rb', line 69

def preview
  ready? ? resolved_value : preview_value
end

#preview_valueObject



77
78
79
# File 'app/models/template_input.rb', line 77

def preview_value
  "$#{@input.input_type.upcase}_INPUT[#{@input.name}]"
end

#ready?Boolean

should be defined in descendants

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


82
83
84
# File 'app/models/template_input.rb', line 82

def ready?
  raise NotImplementedError
end

#resolved_valueObject

should be defined in descendants

Raises:

  • (NotImplementedError)


87
88
89
# File 'app/models/template_input.rb', line 87

def resolved_value
  raise NotImplementedError
end

#valueObject



73
74
75
# File 'app/models/template_input.rb', line 73

def value
  ready? ? resolved_value : raise(ValueNotReady, "Input '#{@input.name}' is not ready for rendering")
end