Module: SocialStream::Views::Location

Included in:
LocationHelper
Defined in:
lib/social_stream/views/location.rb

Instance Method Summary collapse

Instance Method Details

#location(*stack) ⇒ Object

Renders the location stack for your view. You can add as many stack levels as you wish.

Usage:

<%= location(level1,leve2,level3,level4,.…) %>

Output: base > level1 > level2 > level3 > level 4

Default configuration: base => “You are here” (“location.base” on config/locales) separator => “>” (“location.separator” on config/locales)

Styles and HTML wrapping: partial => location/_location.html.erb

Example:

Render a location with two leves depth:

	<%= location(link_to(leve1.name, level1.url),link_to(leve2.name, level2.url)) %>


24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/social_stream/views/location.rb', line 24

def location(*stack)
  
  location_body = render :partial => "location/location_body", :locals=>{:stack => stack}
  
  location_div = capture do
    render :partial => "location/location", :locals=>{:location_body => location_body}
  end
  
  case request.format
    when Mime::JS
    response = <<-EOJ

        $('#map_location').html("#{ escape_javascript(location_div) }");
        EOJ
    
    response.html_safe
  else
    content_for(:location) do
      location_div
    end
  end
end