Sha256: 4b8910ba2ed81cf6bddad3f3eaed3c431701eeaabb6b9815a4879c84b8bbff2a

Contents?: true

Size: 1.46 KB

Versions: 21

Compression:

Stored size: 1.46 KB

Contents

module Cmor
  module Core
    module Frontend
      module Breadcrumb
        module Path
          # You can specify custom breadcrumbs at controller/action level.
          #
          # Example:
          #
          # Assume you have a PostsController with an index action and you want
          # to change its breadcrumb. You will have to create a class that
          # inherits from Cmor::Core::Frontend::Breadcrumb::Path::Base. This
          # class has to have a breadcrumbs methods that returns an array of
          # Cmor::Core::Frontend::Breadcrumb::Base.
          #
          #     # app/breadcrumbs/posts_controller/index_breadcrumb_path.rb
          #     class PostsController::IndexBreadcrumbPath < Cmor::Core::Frontend::Breadcrumb::Path::Base
          #       def breadcrumbs
          #         [
          #           Cmor::Core::Frontend::Breadcrumb::Base.new(title: 'Foo', url: '/foo' ),
          #           Cmor::Core::Frontend::Breadcrumb::Base.new(title: 'Bar', url: '/bar' )
          #         ]
          #       end
          #     end
          #
          class Base
            extend ActiveModel::Model
            include I18nConcern

            attr_accessor :context

            def initialize(attrs)
              attrs.each do |k, v|
                self.send("#{k}=", v)
              end
            end

            def breadcrumbs
              raise "Child class reponsibility"
            end
          end
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
cmor_core_frontend-0.0.60.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.59.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.58.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.57.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.56.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.55.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.54.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.53.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.52.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.51.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.50.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.49.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.48.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.45.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.44.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.43.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.42.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.41.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.40.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb
cmor_core_frontend-0.0.39.pre app/breadcrumbs/cmor/core/frontend/breadcrumb/path/base.rb