module PopulateMe::DocumentMixins::Persistence::ClassMethods

Attributes

documents[W]

Public Instance Methods

documents() click to toggle source
# File lib/populate_me/document_mixins/persistence.rb, line 66
def documents; @documents ||= []; end
id_string_key() click to toggle source
# File lib/populate_me/document_mixins/persistence.rb, line 68
def id_string_key
  (self.fields.keys[0]||'id').to_s
end
is_unique(unique_id='unique') click to toggle source
# File lib/populate_me/document_mixins/persistence.rb, line 84
def is_unique unique_id='unique'
  if self.admin_get(unique_id).nil?
    self.new.set_from_hash({id:unique_id}).save
  end
end
set_indexes(f, ids=[]) click to toggle source
# File lib/populate_me/document_mixins/persistence.rb, line 72
def set_indexes f, ids=[]
  if self.fields and self.fields[f.to_sym] and self.fields[f.to_sym][:direction]==:desc
    ids = ids.dup.reverse
  end
  ids.each_with_index do |id,i|
    self.documents.each do |d|
      d[f.to_s] = i if d[self.id_string_key]==id
    end
  end
  self
end