Module: Alchemy::UrlHelper

Included in:
ElementsHelper
Defined in:
app/helpers/alchemy/url_helper.rb

Instance Method Summary collapse

Instance Method Details

#download_alchemy_attachment_path(attachment) ⇒ Object

Returns the path for downloading an alchemy attachment



60
61
62
# File 'app/helpers/alchemy/url_helper.rb', line 60

def download_alchemy_attachment_path(attachment)
  alchemy.download_attachment_path(attachment, attachment.urlname)
end

#download_alchemy_attachment_url(attachment) ⇒ Object

Returns the url for downloading an alchemy attachment



65
66
67
# File 'app/helpers/alchemy/url_helper.rb', line 65

def download_alchemy_attachment_url(attachment)
  alchemy.download_attachment_url(attachment, attachment.urlname)
end

#full_url_for_element(element) ⇒ Object

Returns the full url containing host, page and anchor for the given element



70
71
72
# File 'app/helpers/alchemy/url_helper.rb', line 70

def full_url_for_element(element)
  "#{current_server}/#{element.page.urlname}##{element_dom_id(element)}"
end

#show_alchemy_page_path(page, optional_params = {}) ⇒ Object

Returns the path for rendering an alchemy page



8
9
10
# File 'app/helpers/alchemy/url_helper.rb', line 8

def show_alchemy_page_path(page, optional_params = {})
  alchemy.show_page_path(show_page_path_params(page, optional_params))
end

#show_alchemy_page_url(page, optional_params = {}) ⇒ Object

Returns the url for rendering an alchemy page



13
14
15
# File 'app/helpers/alchemy/url_helper.rb', line 13

def show_alchemy_page_url(page, optional_params = {})
  alchemy.show_page_url(show_page_path_params(page, optional_params))
end

#show_alchemy_picture_path(picture, optional_params = {}) ⇒ Object

This helper returns a path to picture for use inside a image_tag helper.

Any additional options are passed to the url_helper, so you can add arguments to your url.

Example:

<%= image_tag show_alchemy_picture_path(picture, size: '320x200', format: :png) %>


25
26
27
# File 'app/helpers/alchemy/url_helper.rb', line 25

def show_alchemy_picture_path(picture, optional_params = {})
  alchemy.show_picture_path(show_picture_path_params(picture, optional_params))
end

#show_alchemy_picture_url(picture, optional_params = {}) ⇒ Object

This helper returns an url to picture for use inside a image_tag helper.

Any additional options are passed to the url_helper, so you can add arguments to your url.

Example:

<%= image_tag show_alchemy_picture_url(picture, size: '320x200', format: :png) %>


37
38
39
# File 'app/helpers/alchemy/url_helper.rb', line 37

def show_alchemy_picture_url(picture, optional_params = {})
  alchemy.show_picture_url(show_picture_path_params(picture, optional_params))
end

#show_page_path_params(page, optional_params = {}) ⇒ Object

Returns the correct params-hash for passing to show_page_path

Raises:

  • (ArgumentError)


53
54
55
56
57
# File 'app/helpers/alchemy/url_helper.rb', line 53

def show_page_path_params(page, optional_params = {})
  raise ArgumentError, 'Page is nil' if page.nil?
  url_params = {urlname: page.urlname}.update(optional_params)
  prefix_locale? ? url_params.update(locale: page.language_code) : url_params
end

#show_picture_path_params(picture, optional_params = {}) ⇒ Object

Returns the correct params hash for passing to show_picture_path



42
43
44
45
46
47
48
49
50
# File 'app/helpers/alchemy/url_helper.rb', line 42

def show_picture_path_params(picture, optional_params = {})
  url_params = {
    id: picture.id,
    name: picture.urlname,
    format: picture.default_render_format,
    sh: picture.security_token(optional_params)
  }
  url_params.update(optional_params.update(crop: optional_params[:crop] ? 'crop' : nil))
end