Module: AbAdmin::Concerns::Fileuploads::ClassMethods
- Defined in:
- lib/ab_admin/concerns/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.
Instance Method Details
#fileupload_find(method, guid) ⇒ Object
Find asset(s) by guid
40 41 42 43 |
# File 'lib/ab_admin/concerns/fileuploads.rb', line 40 def fileupload_find(method, guid) query = fileupload_scope(method, guid) fileupload_multiple?(method) ? query.to_a : query.first end |
#fileupload_klass(method) ⇒ Object
Find class by reflection
52 53 54 |
# File 'lib/ab_admin/concerns/fileuploads.rb', line 52 def fileupload_klass(method) reflect_on_association(method.to_sym).klass end |
#fileupload_multiple?(method) ⇒ Boolean
56 57 58 |
# File 'lib/ab_admin/concerns/fileuploads.rb', line 56 def fileupload_multiple?(method) reflect_on_association(method.to_sym).try(:collection?) end |
#fileupload_scope(method, guid) ⇒ Object
45 46 47 48 49 |
# File 'lib/ab_admin/concerns/fileuploads.rb', line 45 def fileupload_scope(method, guid) assoc = reflect_on_association(method.to_sym) assoc_scope = assoc.scope ? assoc.klass.instance_exec(&assoc.scope) : assoc.klass assoc_scope.where(guid: guid, assetable_type: base_class.name.to_s) end |
#fileupload_update(record_id, guid, method) ⇒ Object
Update reflection klass by guid
35 36 37 |
# File 'lib/ab_admin/concerns/fileuploads.rb', line 35 def fileupload_update(record_id, guid, method) fileupload_scope(method, guid).update_all(assetable_id: record_id, guid: nil) end |