Sha256: 17fee345b8df9b54ee5af123c81f198526f5bb5d682cbd5ef33cc72d5253b993

Contents?: true

Size: 1.15 KB

Versions: 24

Compression:

Stored size: 1.15 KB

Contents

module Fomantic
  module Ui
    module Sass
      module BreadCrumbs
        def self.included(base)
          base.extend(ClassMethods)
        end

        module ClassMethods
          def semantic_breadcrumb(name, url, options = {})
            class_name = self.name
            before_action options do |controller|
              name = controller.send :translate_semantic_breadcrumb, name, class_name if name.is_a?(Symbol)
              controller.send :semantic_breadcrumb, name, url
            end
          end
        end

        protected

        def semantic_breadcrumb(name, url = '', options = {})
          @breadcrumbs ||= []
          name = translate_semantic_breadcrumb(name, self.class.name) if name.is_a?(Symbol)
          url = eval(url.to_s) if url =~ /_path|_url|@/
          @breadcrumbs << { name: name, url: url, options: options }
        end

        def translate_semantic_breadcrumb(name, class_name)
          scope = [:breadcrumbs]
          namespace = class_name.underscore.split('/')
          namespace.last.sub!('_controller', '')
          scope += namespace

          I18n.t name, scope: scope
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
fomantic-ui-sass-2.9.3 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.9.2 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.9.1 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.9.0 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.8.8.1 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.8.8 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.8.7.1 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.8.7 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.8.6 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.8.5 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.8.4 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.8.3 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.8.2 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.8.1.1 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.8.1 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.7.8 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.7.7 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.7.6 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.7.5 lib/fomantic/ui/sass/breadcrumbs.rb
fomantic-ui-sass-2.7.4 lib/fomantic/ui/sass/breadcrumbs.rb