Sha256: ee4fd6d66e7a5f3c15d4f69c5739b2c65f553cb8d107da93f67843b3844c1458

Contents?: true

Size: 790 Bytes

Versions: 6

Compression:

Stored size: 790 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, options={})
      crumbs.push [name, url, options]
    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

6 entries across 6 versions & 3 rubygems

Version Path
vinted-crummy-1.11.0 lib/crummy/action_view.rb
crummy-schema-dot-org-1.9.0 lib/crummy/action_view.rb
vinted-crummy-1.10.0 lib/crummy/action_view.rb
vinted-crummy-1.9.0 lib/crummy/action_view.rb
crummy-1.8.0 lib/crummy/action_view.rb
crummy-1.7.2 lib/crummy/action_view.rb