Class: Gloo::Objs::Query
- Inherits:
-
Core::Obj
- Object
- Core::Baseo
- Core::Obj
- Gloo::Objs::Query
- Defined in:
- lib/gloo/objs/data/query.rb
Constant Summary collapse
- KEYWORD =
'query'.freeze
- KEYWORD_SHORT =
'sql'.freeze
- DB =
'database'.freeze
- SQL =
'sql'.freeze
- RESULT =
'result'.freeze
- PARAMS =
'params'.freeze
- SIMPLE_LIST =
'simple_list'.freeze
- DB_MISSING_ERR =
'The database connection is missing!'.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.
-
#get_result_can ⇒ Object
Get the result container if it exists.
-
#log_query(sql, params) ⇒ Object
Write the query to the log.
-
#msg_run ⇒ Object
Run the query and process the results.
-
#run_query ⇒ Object
Run the query and return the results.
-
#simple_list? ⇒ Boolean
Should the output be put in a simple list?.
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, #find_child_resolve_alias, #find_child_value, help, inherited, #initialize, #is_alias?, #is_container?, #is_function?, #msg_blank?, #msg_contains?, #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.
78 79 80 |
# File 'lib/gloo/objs/data/query.rb', line 78 def self. return super + [ 'run' ] end |
.short_typename ⇒ Object
The short name of the object type.
33 34 35 |
# File 'lib/gloo/objs/data/query.rb', line 33 def self.short_typename return KEYWORD_SHORT end |
.typename ⇒ Object
The name of the object type.
26 27 28 |
# File 'lib/gloo/objs/data/query.rb', line 26 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.
55 56 57 |
# File 'lib/gloo/objs/data/query.rb', line 55 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.
64 65 66 67 68 69 |
# File 'lib/gloo/objs/data/query.rb', line 64 def add_default_children fac = @engine.factory fac.create_alias DB, nil, self fac.create_string SQL, nil, self fac.create_can RESULT, self end |
#get_result_can ⇒ Object
Get the result container if it exists.
40 41 42 43 44 |
# File 'lib/gloo/objs/data/query.rb', line 40 def get_result_can result_can = find_child RESULT result_can = Gloo::Objs::Alias.resolve_alias( @engine, result_can ) return result_can end |
#log_query(sql, params) ⇒ Object
Write the query to the log.
127 128 129 130 |
# File 'lib/gloo/objs/data/query.rb', line 127 def log_query sql, params @engine.log.info "QUERY PARAMS: #{params}" if params @engine.log.info "QUERY: #{sql}" end |
#msg_run ⇒ Object
Run the query and process the results.
85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/gloo/objs/data/query.rb', line 85 def msg_run db = db_obj return unless db begin clear_results result = db.query( sql_value, param_array ) process_result( result, db ) rescue => e @engine.log_exception e return end end |
#run_query ⇒ Object
Run the query and return the results.
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/gloo/objs/data/query.rb', line 103 def run_query db = db_obj return unless db begin log_query sql_value, param_array db_start = ::Time.now result = db.query( sql_value, param_array ) db_done = ::Time.now elapsed = ( ( db_done - db_start ) * 1000.0 ).round(2) app = @engine.running_app app.add_db_time elapsed if app return result rescue => e @engine.log_exception e return end end |
#simple_list? ⇒ Boolean
Should the output be put in a simple list?
140 141 142 143 144 145 |
# File 'lib/gloo/objs/data/query.rb', line 140 def simple_list? o = find_child SIMPLE_LIST return false unless o return o.value end |