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

Instance Method Details

#load_autocomplete_data(field) ⇒ Object

Load data for autocomplete action from database

Parameters:



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

Parameters:

  • id (Integer)

    Data’s identifier.

Returns:

  • (ActiveRecord|nil)

    Returns table data or nil if data absent



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

Parameters:

  • field (String)

    Field’s identifier.

  • value (String)

    Field’s value.

Returns:

  • (ActiveRecord|nil)

    Returns table data or nil if data absent



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_dataObject

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 load_menu_data

end

#load_new_data(action = 'new') ⇒ ActiveRecord

Load predefined model data into Etc::Data#data

Returns:

  • (ActiveRecord)

    Returns predefined 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_dataObject

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

Parameters:

  • limit (Integer) (defaults to: 10)

    Specifies the maximum number of rows to return.

  • offset (Integer) (defaults to: 0)

    Specifies the offset of the first row to return.



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_countObject

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