NAME

rails_nav.rb

SYNOPSIS

encapsulates only the concept of a

  "named list of linkys"

and

  "how to make one 'em active"

it does *not* to any htmly stuff for you

USAGE

in a controller

  class ApplicationController < ActionController::Base

    nav_for :main do |list|
      if current_user
        list.link(:home, root_path)
        list.link(:test, test_path)
      end

      if current_user.admin?
        list.link(:admin, admin_path)
      end
    end

  end

  # pass a block to list.link(...){ } to supply logic for when a link is
  # active.  otherwise a sane default will be built for you.

in a view

  <%=

    nav_{
      ul_(:class => 'nav nav-pills'){
        nav_for(:main).each do |link|

          li_(:class => (link.active ? :active : :inactive)){
            a_(:href => link.href){ link }
          }

        end
      }
    }

  %>