Class: MediaFile
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- MediaFile
- Defined in:
- app/models/media_file.rb
Overview
Class Method Summary collapse
-
.find_by_name(name) ⇒ Object
Given a name in the form ‘folder/filename.ext’, return the correct media file ——————————————————————————.
-
.tag_list_all ⇒ Object
return a list of tags for all media objects ——————————————————————————.
-
.url_by_name(name, options = {version: :original}) ⇒ Object
Given a name in the form ‘folder/filename.ext’, grab the url with the correct version Use ‘version: :original’ to allow the original version to be pulled ——————————————————————————.
-
.version_exists?(name, options = {version: :original}) ⇒ Boolean
Given a name in the form ‘folder/filename.ext’, check if the version exists.
Instance Method Summary collapse
-
#image? ⇒ Boolean
——————————————————————————.
-
#pdf? ⇒ Boolean
——————————————————————————.
-
#short_location(version = nil) ⇒ Object
——————————————————————————.
Class Method Details
.find_by_name(name) ⇒ Object
Given a name in the form ‘folder/filename.ext’, return the correct media file
66 67 68 69 70 71 |
# File 'app/models/media_file.rb', line 66 def self.find_by_name(name) components = name.split('/') filename = components[-1] folder = components[-2] || '' asset = MediaFile.where(folder: folder, media: filename).first end |
.tag_list_all ⇒ Object
return a list of tags for all media objects
36 37 38 |
# File 'app/models/media_file.rb', line 36 def self.tag_list_all MediaFile.tag_counts_on(:tags).map(&:name).sort end |
.url_by_name(name, options = {version: :original}) ⇒ Object
Given a name in the form ‘folder/filename.ext’, grab the url with the correct version Use ‘version: :original’ to allow the original version to be pulled
43 44 45 46 47 48 49 50 |
# File 'app/models/media_file.rb', line 43 def self.url_by_name(name, = {version: :original}) asset = MediaFile.find_by_name(name) if asset [:version] == :original ? asset.media.url : asset.media.url([:version]) else nil end end |
.version_exists?(name, options = {version: :original}) ⇒ Boolean
Given a name in the form ‘folder/filename.ext’, check if the version exists. Use ‘version: :original’ to allow the original version to be pulled
55 56 57 58 59 60 61 62 |
# File 'app/models/media_file.rb', line 55 def self.version_exists?(name, = {version: :original}) asset = MediaFile.find_by_name(name) if asset [:version] == :original ? true : asset.media.version_exists?([:version]) else false end end |
Instance Method Details
#image? ⇒ Boolean
19 20 21 |
# File 'app/models/media_file.rb', line 19 def image? self.media_content_type.start_with? 'image' end |
#pdf? ⇒ Boolean
24 25 26 |
# File 'app/models/media_file.rb', line 24 def pdf? self.media_content_type.end_with? 'pdf' end |
#short_location(version = nil) ⇒ Object
29 30 31 32 |
# File 'app/models/media_file.rb', line 29 def short_location(version = nil) filename = version ? self.media.versions[version].file.filename : self.media.file.filename folder.blank? ? filename : "#{folder}/#{filename}" end |