Class: DynamicPaperclip::Attachment

Inherits:
Paperclip::Attachment
  • Object
show all
Defined in:
lib/dynamic_paperclip_patch.rb

Instance Method Summary collapse

Instance Method Details

#dynamic_url(definition) ⇒ Object

Raises:

  • (DynamicPaperclip::Errors::SecretNotSet)


20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/dynamic_paperclip_patch.rb', line 20

def dynamic_url(definition)
  raise DynamicPaperclip::Errors::SecretNotSet, "No secret has been configured. Please run the dynamic_paperclip:install generator." unless DynamicPaperclip.config.secret.present?

  style_name = StyleNaming.dynamic_style_name_from_definition(definition)

  url = url(style_name)

  # iXmedia
  # Fix to avoid url with 2 "?" when timestamp is used in paperclip
  # Ex: "/system/rails_admin_image_manager/files/images/000/000/001/dynamic_10x10/test.jpg?1498751741?s=c3ac6269a728f8e9a8d625ef84455a082bdd3bbf
  # delimiter_char = url.match(/\?.+=/) ? '&' : '?'
  delimiter_char = url.match(/\?/) ? '&' : '?'

  "#{url}#{delimiter_char}s=#{UrlSecurity.generate_hash(style_name)}"
end