Module: Umlaut::Helper

Includes:
FooterHelper, HtmlHeadHelper, UrlGeneration
Defined in:
app/helpers/umlaut/helper.rb

Overview

Rails view helpers needed accross Umlaut controllers are collected here. Generally UmlautController will call “helper Umlaut::Helper” to expose these to all umlaut controllers.

Instance Method Summary collapse

Methods included from HtmlHeadHelper

#render_meta_refresh, #render_opensearch_link, #render_umlaut_head_content, #umlaut_title_text

Methods included from FooterHelper

#link_to_direct_sfx, #link_to_test_resolve, #link_to_toggle_debug_info, #render_service_credits

Methods included from UrlGeneration

#path_to_image, #path_to_javascript, #path_to_stylesheet, #url_for

Instance Method Details

#date_format(date_string) ⇒ Object

formats dates sent in an OpenURL into a more human-friendly format. Input Dates look like ‘20000304’. Can be just year, or just year/month, or all. Not sure what this format is officially called. Not sure if they can have dashes sometimes?



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'app/helpers/umlaut/helper.rb', line 40

def date_format(date_string)      
  date_string =~ /(\d\d\d\d)\-?(\d\d)?\-?(\d\d)?/

  begin
    year, month, day_of_month = $1, $2, $3

    if ( month )                
      date = Date.civil(year.to_i, month.to_i)
      formatted_month = date.strftime('%b')
    end
    
    output = year
    output += ' ' + formatted_month if formatted_month
    output += ' ' + day_of_month if day_of_month && day_of_month.to_i != 0

    return output
  rescue
    return date_string
  end
end

pass in an OpenURL::ContextObject, outputs a link.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/helpers/umlaut/helper.rb', line 13

def resolver_link(context_object, params={})
  
  # Content of the link. 
  if ( umlaut_config.link_img_url && params[:text].blank? )
    link_content = image_tag(umlaut_config.link_img_url, :border=>0, :alt=>umlaut_config.app_name)
  elsif ! params[:text].blank?
    link_content = params[:text]
  else
    link_content = umlaut_config.app_name
  end

  # url of the link. 
  if ( params[:params])
    link_to_arg = params[:params]
  else
    link_params = {:controller=>'/resolve', :action => "index"}
    link_params.merge!( params[:extra_params] ) if params[:extra_params]
    link_to_arg = url_for_with_co( link_params, context_object )      
  end
  
  link_to(link_content, link_to_arg , :target=>params[:target])
end