Module: ActiveAdmin::Mongoid::Document::ClassMethods

Defined in:
lib/active_admin/mongoid/document.rb

Instance Method Summary collapse

Instance Method Details

#[](name) ⇒ Object

Cache



79
80
81
82
# File 'lib/active_admin/mongoid/document.rb', line 79

def [] name
  raise name.inspect
  cache[name]
end

#[]=(name, value) ⇒ Object



84
85
86
# File 'lib/active_admin/mongoid/document.rb', line 84

def []= name, value
  cache[name]= value
end

#cacheObject



88
89
90
# File 'lib/active_admin/mongoid/document.rb', line 88

def cache
  @cache ||= {}
end

#column_namesObject



106
107
108
# File 'lib/active_admin/mongoid/document.rb', line 106

def column_names
  @column_names ||= fields.map(&:first)
end

#columnsObject



102
103
104
# File 'lib/active_admin/mongoid/document.rb', line 102

def columns
  @columns ||= fields.map(&:second).map{ |c| ColumnWrapper.new(c) }
end

#columns_hashObject



110
111
112
# File 'lib/active_admin/mongoid/document.rb', line 110

def columns_hash
  columns.index_by(&:name)
end

#connectionObject



124
125
126
# File 'lib/active_admin/mongoid/document.rb', line 124

def connection
  @connection ||= Connection.new(self)
end

#content_columnsObject

Columns



95
96
97
98
99
100
# File 'lib/active_admin/mongoid/document.rb', line 95

def content_columns
  # cannot cache this, since changes in time (while defining fields)
  fields.map(&:second).reject do |f|
    f.name =~ /(^_|^(created|updated)_at)/ or Mongoid::Fields::ForeignKey === f
  end
end

#find_by_id(id) ⇒ Object



128
129
130
# File 'lib/active_admin/mongoid/document.rb', line 128

def find_by_id id
  find_by(:_id => id)
end

#group_by(*args, &block) ⇒ Object



60
61
62
# File 'lib/active_admin/mongoid/document.rb', line 60

def group_by *args, &block
  criteria
end

#joins_values(*args) ⇒ Object

Metasearch



56
57
58
# File 'lib/active_admin/mongoid/document.rb', line 56

def joins_values *args
  criteria
end

#quoted_table_nameObject



132
133
134
# File 'lib/active_admin/mongoid/document.rb', line 132

def quoted_table_name
  collection_name.to_s.inspect
end

#ransack(*args) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
# File 'lib/active_admin/mongoid/document.rb', line 64

def ransack *args
  scoped

  scoped.class.class_eval do
    def result
      self
    end
  end

  scoped
end

#reflections(*a) ⇒ Object



137
138
139
# File 'lib/active_admin/mongoid/document.rb', line 137

def reflections *a
  relations *a
end

#reorder(sorting) ⇒ Object



116
117
118
119
120
121
122
# File 'lib/active_admin/mongoid/document.rb', line 116

def reorder sorting
  return unscoped if sorting.blank?
  options = sorting.split(/ |\./)
  options.shift if options.count == 3
  field, order = *options
  unscoped.order_by(field => order)
end