Class: CadmusFiles::FileUrlTag
- Inherits:
-
Liquid::Tag
- Object
- Liquid::Tag
- CadmusFiles::FileUrlTag
- Defined in:
- lib/cadmus_files/file_url_tag.rb
Instance Attribute Summary collapse
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
Instance Method Summary collapse
-
#initialize(tag_name, args, tokens) ⇒ FileUrlTag
constructor
A new instance of FileUrlTag.
- #render(context) ⇒ Object
Constructor Details
#initialize(tag_name, args, tokens) ⇒ FileUrlTag
Returns a new instance of FileUrlTag.
7 8 9 10 |
# File 'lib/cadmus_files/file_url_tag.rb', line 7 def initialize(tag_name, args, tokens) super @filename = args.strip.gsub(/\A([\"\'])(.*)\1\z/, '\2') end |
Instance Attribute Details
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
5 6 7 |
# File 'lib/cadmus_files/file_url_tag.rb', line 5 def filename @filename end |
Instance Method Details
#render(context) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/cadmus_files/file_url_tag.rb', line 12 def render(context) file_model = CadmusFiles.file_model unless file_model return "Error: CadmusFiles.file_model not set. Please set it to your file model in an initializer." end cache = context.registers[:cached_files] || {} cms_file = cache[filename] unless cms_file parent = context.registers['parent'] cms_file = file_model.find_by(file_model.cadmus_file_field => filename, parent: parent) unless cms_file return "Error: file #{filename} not found" end end cms_file.file.url end |