Sha256: c96372c4bc39e81365c8002f194e71abf9b7c7fddb76ceffe5cb6a12956058a3

Contents?: true

Size: 769 Bytes

Versions: 10

Compression:

Stored size: 769 Bytes

Contents

module Crummy
  module ViewMethods
    # List the crumbs as an array
    def crumbs
      @_crumbs ||= [] # Give me something to push to
    end
    
    # Add a crumb to the +crumbs+ array
    def add_crumb(name, url=nil)
      crumbs.push [name, url]
    end
    
    # Render the list of crumbs using renderer
    #
    def render_crumbs(options = {})
      raise ArgumentError, "Renderer and block given" if options.has_key?(:renderer) && block_given?
      return yield(crumbs, options) if block_given?
      
      @_renderer ||= if options.has_key?(:renderer)
        options.delete(:renderer)
      else
        require 'crummy/standard_renderer'
        Crummy::StandardRenderer.new
      end

      @_renderer.render_crumbs(crumbs, options)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
crummy-1.7.1 lib/crummy/action_view.rb
crummy-1.7.0 lib/crummy/action_view.rb
crummy-1.6.0 lib/crummy/action_view.rb
crummy-1.5.0 lib/crummy/action_view.rb
crummy-1.3.6 lib/crummy/action_view.rb
crummy-1.3.5 lib/crummy/action_view.rb
crummy-1.3 lib/crummy/action_view.rb
crummy-1.2 lib/crummy/action_view.rb
crummy-1.1.1 lib/crummy/action_view.rb
crummy-1.1.0 lib/crummy/action_view.rb