Class: JunglePath::DBAccess::IO::Select
- Inherits:
-
Object
- Object
- JunglePath::DBAccess::IO::Select
show all
- Includes:
- InitDB
- Defined in:
- lib/jungle_path/db_access/io/select.rb
Instance Method Summary
collapse
Methods included from InitDB
#handle_json_columns, #initialize
Instance Method Details
#_model(model) ⇒ Object
9
10
11
12
13
14
15
16
|
# File 'lib/jungle_path/db_access/io/select.rb', line 9
def _model(model)
ds = @db[model._table_name].where(model._primary_key)
hash = ds.first
return nil unless hash
new_model = model.class.new(hash, false) end
|
#_model_by_any(model) ⇒ Object
18
19
20
21
22
23
24
25
|
# File 'lib/jungle_path/db_access/io/select.rb', line 18
def _model_by_any(model)
ds = @db[model._table_name].where(handle_json_columns(model, model._modified_hash))
hash = ds.first
return nil unless hash
new_model = model.class.new(hash, false) end
|
#_models(model, *order_by) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/jungle_path/db_access/io/select.rb', line 27
def _models(model, *order_by)
ds = @db[model._table_name]
ds = ds.where(handle_json_columns(model, model._has_value_hash)) if model._has_value_hash.length > 0
ds = ds.order(*order_by) if order_by.length > 0
ds = ds.order(model._primary_key_columns.keys) unless order_by.length > 0
rows = ds.all
models = []
rows.each do |row|
models << model.class.new(row, false)
end
models
end
|