Class: Gloo::Objs::Erb
- Inherits:
-
Core::Obj
- Object
- Core::Baseo
- Core::Obj
- Gloo::Objs::Erb
- Defined in:
- lib/gloo/objs/ror/erb.rb
Constant Summary collapse
- KEYWORD =
'erb'.freeze
- KEYWORD_SHORT =
'erb'.freeze
- TEMPLATE =
'template'.freeze
- PARAMS =
'params'.freeze
- RESULT =
'result'.freeze
Constants inherited from Core::Baseo
Core::Baseo::NOT_IMPLEMENTED_ERR
Instance Attribute Summary
Attributes inherited from Core::Obj
Attributes inherited from Core::Baseo
Class Method Summary collapse
-
.messages ⇒ Object
Get a list of message names that this object receives.
-
.short_typename ⇒ Object
The short name of the object type.
-
.typename ⇒ Object
The name of the object type.
Instance Method Summary collapse
-
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
-
#add_default_children ⇒ Object
Add children to this object.
-
#msg_run ⇒ Object
Run the ERB template conversion.
-
#param_hash ⇒ Object
Get a hash with parameters for the ERB render.
-
#set_result(data) ⇒ Object
Set the result of the ERB template conversion.
-
#template_value ⇒ Object
Get the ERB template.
Methods inherited from Core::Obj
#add_child, can_create?, #can_receive_message?, #child_count, #child_index, #contains_child?, #delete_children, #dispatch, #display_value, #find_add_child, #find_child, help, inherited, #initialize, #is_alias?, #is_function?, #msg_reload, #msg_unload, #multiline_value?, #pn, #remove_child, #render, #root?, #send_message, #set_parent, #set_value, #type_display, #value_display, #value_is_array?, #value_is_blank?, #value_string?
Methods inherited from Core::Baseo
Constructor Details
This class inherits a constructor from Gloo::Core::Obj
Class Method Details
.messages ⇒ Object
Get a list of message names that this object receives.
99 100 101 |
# File 'lib/gloo/objs/ror/erb.rb', line 99 def self. return super + [ 'run' ] end |
.short_typename ⇒ Object
The short name of the object type.
28 29 30 |
# File 'lib/gloo/objs/ror/erb.rb', line 28 def self.short_typename return KEYWORD_SHORT end |
.typename ⇒ Object
The name of the object type.
21 22 23 |
# File 'lib/gloo/objs/ror/erb.rb', line 21 def self.typename return KEYWORD end |
Instance Method Details
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
76 77 78 |
# File 'lib/gloo/objs/ror/erb.rb', line 76 def add_children_on_create? return true end |
#add_default_children ⇒ Object
Add children to this object. This is used by containers to add children needed for default configurations.
85 86 87 88 89 90 |
# File 'lib/gloo/objs/ror/erb.rb', line 85 def add_default_children fac = @engine.factory fac.create_text TEMPLATE, '', self fac.create_can PARAMS, self fac.create_text RESULT, '', self end |
#msg_run ⇒ Object
Run the ERB template conversion.
106 107 108 109 110 111 112 |
# File 'lib/gloo/objs/ror/erb.rb', line 106 def msg_run tmpl = template_value return unless tmpl render = ERB.new( tmpl ) set_result render.result_with_hash( param_hash ) end |
#param_hash ⇒ Object
Get a hash with parameters for the ERB render.
55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/gloo/objs/ror/erb.rb', line 55 def param_hash h = {} body = find_child PARAMS body.children.each do |child| child = Gloo::Objs::Alias.resolve_alias( @engine, child ) h[ child.name ] = child.value end return h end |
#set_result(data) ⇒ Object
Set the result of the ERB template conversion.
45 46 47 48 49 50 |
# File 'lib/gloo/objs/ror/erb.rb', line 45 def set_result( data ) r = find_child RESULT return nil unless r r.set_value data end |
#template_value ⇒ Object
Get the ERB template.
35 36 37 38 39 40 |
# File 'lib/gloo/objs/ror/erb.rb', line 35 def template_value tmpl = find_child TEMPLATE return nil unless tmpl return tmpl.value end |