Module: Ramaze::Helper::Link

Defined in:
lib/ramaze/helper/link.rb,
lib/ramaze/helper/gestalt.rb

Overview

This is a modification of Innate::Helper::Link to respect the routing of Ramaze

NOTE: The A/R/Rs methods have been deprecated.

Instance Method Summary collapse

Instance Method Details

Give it a path with character to split at and one to join the crumbs with. It will generate a list of links that act as pointers to previous pages on this path.

Optionally a href prefix can be specified which generate link names a above, but with the prefix prepended to the href path.

Examples:

usage

breadcrumbs('/path/to/somewhere')

# results in this, newlines added for readability:

<a href="/path">path</a>/
<a href="/path/to">to</a>/
<a href="/path/to/somewhere">somewhere</a>

usage

breadcrumbs('/path/to/somewhere', '/', '/', '/mycontroller/action')

# results in this, newlines added for readability:

<a href="/mycontroller/action/path">path</a>/
<a href="/mycontroller/action/path/to">to</a>/
<a href="/mycontroller/action/path/to/somewhere">somewhere</a>

Returns:

  • (String)


46
47
48
49
50
51
52
53
54
# File 'lib/ramaze/helper/link.rb', line 46

def breadcrumbs(path, split = '/', join = '/', href_prefix = '')
  atoms = path.split(split).reject{|a| a.empty?}
  crumbs = atoms.inject([]){|s,v| s << [s.last,v]}
  bread = crumbs.map do |a|
    href_path = href_prefix + a*'/'
    a(a[-1], href_path)
  end
  bread.join(join)
end

#route_location(klass) ⇒ Object



13
14
15
16
17
# File 'lib/ramaze/helper/link.rb', line 13

def route_location(klass)
  prefix = Ramaze.options.prefix
  location = Ramaze.to(klass) || Ramaze.to(klass.class)
  [prefix, location].join('/')
end