Module: Uploader::Fileuploads::ClassMethods

Defined in:
lib/uploader/fileuploads.rb

Instance Method Summary collapse

Instance Method Details

#base_classObject



53
54
55
# File 'lib/uploader/fileuploads.rb', line 53

def base_class
  self
end

#fileupload_find(method, guid) ⇒ Object

Find asset by guid



42
43
44
45
# File 'lib/uploader/fileuploads.rb', line 42

def fileupload_find(method, guid)
  klass = fileupload_klass(method)
  klass.where(:guid => guid).first
end

#fileupload_klass(method) ⇒ Object

Find class by reflection



48
49
50
# File 'lib/uploader/fileuploads.rb', line 48

def fileupload_klass(method)
  reflect_on_association(method.to_sym).klass
end

#fileupload_update(record_id, guid, method) ⇒ Object

Update reflection klass by guid



31
32
33
34
35
36
37
38
39
# File 'lib/uploader/fileuploads.rb', line 31

def fileupload_update(record_id, guid, method)
  query = fileupload_klass(method).where(:guid => guid, :assetable_type => base_class.name.to_s)
  if defined?( Moped::BSON )
    record_id = Moped::BSON::ObjectId.from_string(record_id) unless record_id.class.name == "Moped::BSON::ObjectId"
  else 
    record_id = BSON::ObjectId.from_string(record_id) unless record_id.class.name == "BSON::ObjectId"
  end
  query.update_all(:assetable_id => record_id, :guid => nil)
end