class Korgi::FileUploadFilter
Attributes
id[R]
target[R]
version[R]
Public Class Methods
new(doc, context = nil, result = nil)
click to toggle source
Calls superclass method
# File lib/korgi/file_upload_filter.rb, line 8 def initialize(doc, context = nil, result = nil) super doc, context, result @target, @id, @version = nil end
Public Instance Methods
call()
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 13 def call doc.to_s.gsub(pattern) do origin, @target, @id, @version = Regexp.last_match.to_a valid_target? ? file_url : origin end end
Private Instance Methods
configured_value(key)
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 34 def configured_value(key) Korgi.config.file_uploads[target.to_sym][key] end
default_version()
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 50 def default_version configured_value(:default_version) end
file_url()
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 26 def file_url Korgi::FileObject.new(klass, id, nil_object).fetch.send(mount).url(file_version) end
file_version()
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 54 def file_version if version valid_file_version? ? version : default_version else default_version end end
file_versions()
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 66 def file_versions klass.uploaders[mount].versions.keys end
klass()
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 38 def klass Object.const_get(configured_value(:model)) end
mount()
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 42 def mount configured_value(:mount) end
nil_object()
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 46 def nil_object Object.const_get(configured_value(:nil_object)) end
pattern()
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 22 def pattern %r{\$\+([\w]+).([\d]+)(?:.([\w]+))?\$} end
valid_file_version?()
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 62 def valid_file_version? file_versions.include?(version.to_sym) end
valid_target?()
click to toggle source
# File lib/korgi/file_upload_filter.rb, line 30 def valid_target? Korgi.config.file_uploads.key?(target.to_sym) end