Sha256: 7a5e6a68489b301e7e9e15129f0f64e24ce56159c7daf70c415b854196816f70
Contents?: true
Size: 1.1 KB
Versions: 4
Compression:
Stored size: 1.1 KB
Contents
require "hashie" module Fume module SimpleNav def self.init! if defined? ::ActionView::Base ::ActionView::Base.send :include, HelperExtensions end end module HelperExtensions def simple_nav(attr_reader_name) value = self.send(attr_reader_name) tag = SimpleNavTag.new({ :helper => self, :value => value, :active_class => "active" }) if block_given? yield tag return nil else return tag end end class SimpleNavTag < Hashie::Mash def li_tag(value, options = {}, &block) self.content_tag(value, :li, options, &block) end def content_tag(value, tag_name, options = {}, &block) if value == self.value if options[:class] options[:class] += " #{self.active_class}" else options[:class] = "#{self.active_class}" end end helper.content_tag(tag_name, options, &block) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
fume-0.9.3 | lib/fume/simple_nav.rb |
fume-0.9.2 | lib/fume/simple_nav.rb |
fume-0.9.1 | lib/fume/simple_nav.rb |
fume-0.9.0 | lib/fume/simple_nav.rb |