Sha256: ebb7bdcedbcb8cfe25f4c8e4b4df44910a609ef90487c21f447e3cf2c03ab3fc

Contents?: true

Size: 1.27 KB

Versions: 14

Compression:

Stored size: 1.27 KB

Contents

module Fume
  module SimpleTheme
    
    def self.try_enable
      ActionController::Base.send :extend, ControllerExtensions::ClassMethods
      ActionController::Base.send :helper, RailsHelpers
    end
    
    module ControllerExtensions
      module ClassMethods
        def sec_nav_highlight(name)
          class_eval do 
            before_filter { |c| c.instance_variable_set(:@sec_nav, name) }
          end
        end

        def main_nav_highlight(name)
          class_eval do 
            before_filter { |c| c.instance_variable_set(:@main_nav, name) }
          end
        end
      end
    end
    
    module RailsHelpers
      def sec_nav(name, options = {}, &block)
        if @sec_nav == name
          if options[:class]
            options[:class] += " active"
          else
            options[:class] = "active"
          end
        end
        content = capture(&block)
        concat content_tag(:li, content, options)
      end
      
      def main_nav(name, options = {}, &block)
        if @main_nav == name
          if options[:class]
            options[:class] += " active"
          else
            options[:class] = "active"
          end
        end
        content = capture(&block)
        concat content_tag(:li, content, options)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
fume-0.5.3 lib/fume/simple_theme.rb
fume-0.5.2 lib/fume/simple_theme.rb
fume-0.5.1 lib/fume/simple_theme.rb
fume-0.5.0 lib/fume/simple_theme.rb
fume-0.4.3 lib/fume/simple_theme.rb
fume-0.4.2 lib/fume/simple_theme.rb
fume-0.4.1 lib/fume/simple_theme.rb
fume-0.4.0 lib/fume/simple_theme.rb
fume-0.3.5 lib/fume/simple_theme.rb
fume-0.3.4 lib/fume/simple_theme.rb
fume-0.3.3 lib/fume/simple_theme.rb
fume-0.3.2 lib/fume/simple_theme.rb
fume-0.3.1 lib/fume/simple_theme.rb
fume-0.3.0 lib/fume/simple_theme.rb