Module: Uploader::Fileuploads::ClassMethods
- Defined in:
- lib/uploader/fileuploads.rb
Instance Method Summary collapse
-
#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.
-
#fileuploads(*args) ⇒ Object
Join ActiveRecord object with uploaded file Usage:.
Instance Method Details
#fileupload_find(method, guid) ⇒ Object
Find asset(s) by guid
40 41 42 43 |
# File 'lib/uploader/fileuploads.rb', line 40 def fileupload_find(method, guid) query = fileupload_scope(method, guid) fileupload_multiple?(method) ? query : query.first end |
#fileupload_klass(method) ⇒ Object
Find class by reflection
50 51 52 |
# File 'lib/uploader/fileuploads.rb', line 50 def fileupload_klass(method) reflect_on_association(method.to_sym).klass end |
#fileupload_multiple?(method) ⇒ Boolean
54 55 56 57 58 59 60 61 |
# File 'lib/uploader/fileuploads.rb', line 54 def fileupload_multiple?(method) association = reflect_on_association(method.to_sym) # many? for Mongoid and :collection? for AR method_name = association.respond_to?(:many?) ? :many? : :collection? association && association.send(method_name) end |
#fileupload_scope(method, guid) ⇒ Object
45 46 47 |
# File 'lib/uploader/fileuploads.rb', line 45 def fileupload_scope(method, guid) fileupload_klass(method).where(assetable_type: base_class.name.to_s, Uploader.guid_column => guid) end |
#fileupload_update(record_id, guid, method) ⇒ Object
Update reflection klass by guid
35 36 37 |
# File 'lib/uploader/fileuploads.rb', line 35 def fileupload_update(record_id, guid, method) fileupload_scope(method, guid).update_all(assetable_id: record_id, Uploader.guid_column => nil) end |
#fileuploads(*args) ⇒ Object
Join ActiveRecord object with uploaded file Usage:
class Article < ActiveRecord::Base
has_one :picture, as: :assetable, dependent: :destroy
fileuploads :picture
end
24 25 26 27 28 29 30 31 32 |
# File 'lib/uploader/fileuploads.rb', line 24 def fileuploads(*args) = args. self. ||= {} args.each do |column| self.[column] = end end |