Module: Uploader::Fileuploads::ClassMethods
- Defined in:
- lib/uploader/fileuploads.rb
Instance Method Summary collapse
- #base_class ⇒ Object
-
#fileupload_find(method, guid) ⇒ Object
Find asset(s) by guid.
-
#fileupload_klass(method) ⇒ Object
Find class by reflection.
- #fileupload_multiple?(method) ⇒ Boolean
- #fileupload_scope(method, guid) ⇒ Object
-
#fileupload_update(record_id, guid, method) ⇒ Object
Update reflection klass by guid.
Instance Method Details
#base_class ⇒ Object
79 80 81 |
# File 'lib/uploader/fileuploads.rb', line 79 def base_class self end |
#fileupload_find(method, guid) ⇒ Object
Find asset(s) by guid
55 56 57 58 |
# File 'lib/uploader/fileuploads.rb', line 55 def fileupload_find(method, guid) query = fileupload_scope(method, guid) fileupload_multiple?(method) ? query.all : query.first end |
#fileupload_klass(method) ⇒ Object
Find class by reflection
65 66 67 |
# File 'lib/uploader/fileuploads.rb', line 65 def fileupload_klass(method) reflect_on_association(method.to_sym).klass end |
#fileupload_multiple?(method) ⇒ Boolean
69 70 71 72 73 74 75 76 |
# File 'lib/uploader/fileuploads.rb', line 69 def fileupload_multiple?(method) association = reflect_on_association(method.to_sym) # many? for Mongoid, :collection? for AR method_name = association.respond_to?(:many?) ? :many? : :collection? !!(association && association.send(method_name)) end |
#fileupload_scope(method, guid) ⇒ Object
60 61 62 |
# File 'lib/uploader/fileuploads.rb', line 60 def fileupload_scope(method, guid) fileupload_klass(method).where(:guid => guid, :assetable_type => base_class.name.to_s) end |
#fileupload_update(record_id, guid, method) ⇒ Object
Update reflection klass by guid
50 51 52 |
# File 'lib/uploader/fileuploads.rb', line 50 def fileupload_update(record_id, guid, method) fileupload_scope(method, guid).update_all(:assetable_id => record_id, :guid => nil) end |