Module: ActiveAdmin::Mongoid::Document::ClassMethods
- Defined in:
- lib/active_admin/mongoid/document.rb
Instance Method Summary collapse
-
#[](name) ⇒ Object
Cache.
- #[]=(name, value) ⇒ Object
- #cache ⇒ Object
- #column_names ⇒ Object
- #columns ⇒ Object
- #columns_hash ⇒ Object
- #connection ⇒ Object
-
#content_columns ⇒ Object
Columns.
- #find_by_id(id) ⇒ Object
- #group_by(*args, &block) ⇒ Object
-
#joins_values(*args) ⇒ Object
Metasearch.
- #quoted_table_name ⇒ Object
- #ransack(*args) ⇒ Object
- #reflections(*a) ⇒ Object
- #reorder(sorting) ⇒ Object
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 |
#cache ⇒ Object
88 89 90 |
# File 'lib/active_admin/mongoid/document.rb', line 88 def cache @cache ||= {} end |
#column_names ⇒ Object
106 107 108 |
# File 'lib/active_admin/mongoid/document.rb', line 106 def column_names @column_names ||= fields.map(&:first) end |
#columns ⇒ Object
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_hash ⇒ Object
110 111 112 |
# File 'lib/active_admin/mongoid/document.rb', line 110 def columns_hash columns.index_by(&:name) end |
#connection ⇒ Object
124 125 126 |
# File 'lib/active_admin/mongoid/document.rb', line 124 def connection @connection ||= Connection.new(self) end |
#content_columns ⇒ Object
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_name ⇒ Object
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? = sorting.split(/ |\./) .shift if .count == 3 field, order = * unscoped.order_by(field => order) end |