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



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

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



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

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



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

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



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

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



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

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) %>


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

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) %>


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

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)


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

def show_page_path_params(page, optional_params={})
  raise ArgumentError, 'Page is nil' if page.nil?
  url_params = {urlname: page.urlname}.update(optional_params)
  multi_language? ? 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



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

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