Sha256: db835678499b9a00f9ebce79ac8ba801111feff9fcd991c5cd70bf65e53ed522

Contents?: true

Size: 999 Bytes

Versions: 2

Compression:

Stored size: 999 Bytes

Contents

require 'crumbs/action_controller/base'
require 'crumbs/proxy'
require 'crumbs/dsl/namespace'
require 'crumbs/dsl/controller'
require 'crumbs/railtie'

module Crumbs
  class << self

    def configure
      yield config
    end

    def config
      @config ||= begin
        ActiveSupport::OrderedOptions.new.tap do |config|
          config.show_last = false
        end
      end
    end

    def define(&block)
      Proxy.new(&block)
    end

    def find(controller, action, params)
      if registry.has_key? controller and registry[controller].has_key? action
        name = registry[controller][action]
        if name.is_a? Proc
          name.call params
        else
          name
        end
      end
    end

    def add(controller, action, name)
      if registry.has_key? controller
        registry[controller][action] = name
      else
        registry[controller] = { action => name }
      end
    end

    protected

    def registry
      @registry ||= {}
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
crumbs-2.1.2 lib/crumbs.rb
crumbs-2.1.1 lib/crumbs.rb