Module: Anoubis::Data::Load
- Included in:
- Anoubis::DataController
- Defined in:
- app/controllers/anoubis/data/load.rb
Overview
Module loads data from external sources for Anoubis::DataController
Instance Method Summary collapse
-
#load_autocomplete_data(field) ⇒ Object
Load data for autocomplete action from database.
-
#load_data_by_id(id) ⇒ ActiveRecord|nil
Load single row of data into Etc::Data#data.
-
#load_data_by_title(field, value) ⇒ ActiveRecord|nil
Load single row of data into Etc::Data#data.
-
#load_menu_data ⇒ Object
Loads current menu data.
-
#load_new_data(action = 'new') ⇒ ActiveRecord
Load predefined model data into Etc::Data#data.
-
#load_parent_data ⇒ Object
Loads parent data from database.
-
#load_table_data(limit = 10, offset = 0) ⇒ Object
Load model data into Etc::Data#data.
-
#load_table_data_count ⇒ Object
Load total number of rows of defined model in Etc::Data#count.
Instance Method Details
#load_autocomplete_data(field) ⇒ Object
Load data for autocomplete action from database
72 73 74 |
# File 'app/controllers/anoubis/data/load.rb', line 72 def load_autocomplete_data(field) self.etc.data.data = field.model.model.where(field.model.where).where(field.autocomplete[:where]).where(get_tenant_where(field.model.model)).order(field.model.order).limit(field.autocomplete[:limit]) end |
#load_data_by_id(id) ⇒ ActiveRecord|nil
Load single row of data into Etc::Data#data
37 38 39 40 41 42 43 44 |
# File 'app/controllers/anoubis/data/load.rb', line 37 def load_data_by_id(id) begin self.etc.data.data = self.get_model.eager_load(self.get_eager_load).where(self.get_tenant_where(self.get_model)).where(self.get_where).where(self.get_tab_where).find(id) rescue => error puts error self.etc.data.data = nil end end |
#load_data_by_title(field, value) ⇒ ActiveRecord|nil
Load single row of data into Etc::Data#data
51 52 53 54 55 56 57 58 59 60 |
# File 'app/controllers/anoubis/data/load.rb', line 51 def load_data_by_title(field, value) where = {} where[field.to_s.to_sym] = value begin self.etc.data.data = self.get_model.eager_load(self.get_eager_load).where(self.get_tenant_where(self.get_model)).where(self.get_where).where(self.get_tab_where).where(where).first rescue => error puts error self.etc.data.data = nil end end |
#load_menu_data ⇒ Object
Loads current menu data. Procedure loads menu data from MySQL database or from Redis cache and places it in self.etc.menu Etc#menu
9 10 11 |
# File 'app/controllers/anoubis/data/load.rb', line 9 def end |
#load_new_data(action = 'new') ⇒ ActiveRecord
Load predefined model data into Etc::Data#data
65 66 67 |
# File 'app/controllers/anoubis/data/load.rb', line 65 def load_new_data(action = 'new') self.etc.data.data = self.get_model.eager_load(self.get_eager_load).new end |
#load_parent_data ⇒ Object
Loads parent data from database
78 79 80 81 82 83 84 |
# File 'app/controllers/anoubis/data/load.rb', line 78 def load_parent_data begin self.etc.data.parent = self.parent_model.where(self.get_tenant_where(self.parent_model)).find(self.parent_id) rescue self.etc.data.parent = nil end end |
#load_table_data(limit = 10, offset = 0) ⇒ Object
Load model data into Etc::Data#data
24 25 26 27 28 29 30 31 |
# File 'app/controllers/anoubis/data/load.rb', line 24 def load_table_data(limit = 10, offset = 0) #self.etc.data.data = self.get_table_model.eager_load(self.get_table_eager_load).where(self.get_current_tab_where).where(self.get_table_where).where(self.etc.filter[:h]).where(self.etc.filter[:a]).order(self.get_current_order).limit(limit).offset(offset) if self.select self.etc.data.data = self.get_model.select(self.select).eager_load(self.get_eager_load).where(self.get_tenant_where(self.get_model)).where(self.get_where).where(self.get_tab_where).where(self.get_filter_where_hash).where(self.get_filter_where_array).order(self.get_order).limit(limit).offset(offset) else self.etc.data.data = self.get_model.eager_load(self.get_eager_load).where(self.get_tenant_where(self.get_model)).where(self.get_where).where(self.get_tab_where).where(self.get_filter_where_hash).where(self.get_filter_where_array).order(self.get_order).limit(limit).offset(offset) end end |
#load_table_data_count ⇒ Object
Load total number of rows of defined model in Etc::Data#count.
15 16 17 18 |
# File 'app/controllers/anoubis/data/load.rb', line 15 def load_table_data_count #self.get_table_model.eager_load(self.get_table_eager_load).where(self.get_current_tab_where).where(self.get_table_where).where(self.etc.filter[:h]).where(self.etc.filter[:a]).count self.etc.data.count = self.get_model.eager_load(self.get_eager_load).where(self.get_tenant_where(self.get_model)).where(self.get_where).where(self.get_tab_where).where(self.get_filter_where_hash).where(self.get_filter_where_array).count end |