Class: Gloo::Objs::Sqlite
- Inherits:
-
Core::Obj
- Object
- Core::Baseo
- Core::Obj
- Gloo::Objs::Sqlite
- Defined in:
- lib/gloo/objs/data/sqlite.rb
Constant Summary collapse
- KEYWORD =
'sqlite'.freeze
- KEYWORD_SHORT =
'sqlite'.freeze
- DB =
'database'.freeze
- DEFAULT_DB =
'test.db'.freeze
- DB_REQUIRED_ERR =
'The database name is required!'.freeze
- DB_NOT_FOUND_ERR =
'The database file was not found!'.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_query_result(result) ⇒ Object
Based on the result set, build a QueryResult object.
-
#msg_verify ⇒ Object
Verify access to the Sqlite database specified.
-
#query(sql, params = nil) ⇒ Object
Open a connection and execute the SQL statement.
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_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.
77 78 79 |
# File 'lib/gloo/objs/data/sqlite.rb', line 77 def self. return super + [ 'verify' ] end |
.short_typename ⇒ Object
The short name of the object type.
43 44 45 |
# File 'lib/gloo/objs/data/sqlite.rb', line 43 def self.short_typename return KEYWORD_SHORT end |
.typename ⇒ Object
The name of the object type.
36 37 38 |
# File 'lib/gloo/objs/data/sqlite.rb', line 36 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.
56 57 58 |
# File 'lib/gloo/objs/data/sqlite.rb', line 56 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.
65 66 67 68 |
# File 'lib/gloo/objs/data/sqlite.rb', line 65 def add_default_children fac = @engine.factory fac.create_string DB, DEFAULT_DB, self end |
#get_query_result(result) ⇒ Object
Based on the result set, build a QueryResult object.
128 129 130 131 132 133 134 135 |
# File 'lib/gloo/objs/data/sqlite.rb', line 128 def get_query_result( result ) rows = [] while ( row = result.next ) do rows << row end return QueryResult.new( result.columns, rows ) end |
#msg_verify ⇒ Object
Verify access to the Sqlite database specified.
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/gloo/objs/data/sqlite.rb', line 84 def msg_verify name = db_value if name.empty? @engine.err DB_REQUIRED_ERR @engine.heap.it.set_to false return end unless File.exist? name @engine.err DB_NOT_FOUND_ERR @engine.heap.it.set_to false return end return unless connects? @engine.heap.it.set_to true end |
#query(sql, params = nil) ⇒ Object
Open a connection and execute the SQL statement. Return the resulting data.
111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/gloo/objs/data/sqlite.rb', line 111 def query( sql, params = nil ) name = db_value unless name @engine.err DB_REQUIRED_ERR return end db = SQLite3::Database.open name # db.results_as_hash = true results = db.query( sql, params ) return results end |