Module: Anubis::Core::Data::Load
- Defined in:
- app/controllers/anoubis/core/data/load.rb
Overview
Module loads data from external sources for Anubis::Core::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
73 74 75 |
# File 'app/controllers/anoubis/core/data/load.rb', line 73 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
38 39 40 41 42 43 44 45 |
# File 'app/controllers/anoubis/core/data/load.rb', line 38 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
52 53 54 55 56 57 58 59 60 61 |
# File 'app/controllers/anoubis/core/data/load.rb', line 52 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
10 11 12 |
# File 'app/controllers/anoubis/core/data/load.rb', line 10 def end |
#load_new_data(action = 'new') ⇒ ActiveRecord
Load predefined model data into Etc::Data#data
66 67 68 |
# File 'app/controllers/anoubis/core/data/load.rb', line 66 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
79 80 81 82 83 84 85 |
# File 'app/controllers/anoubis/core/data/load.rb', line 79 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
25 26 27 28 29 30 31 32 |
# File 'app/controllers/anoubis/core/data/load.rb', line 25 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.
16 17 18 19 |
# File 'app/controllers/anoubis/core/data/load.rb', line 16 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 |