diff --git a/app/helpers/twitter_breadcrumbs_helper.rb b/app/helpers/twitter_breadcrumbs_helper.rb new file mode 100644 index 00000000..28018d35 --- /dev/null +++ b/app/helpers/twitter_breadcrumbs_helper.rb @@ -0,0 +1,5 @@ +module TwitterBreadcrumbsHelper + def render_breadcrumbs(divider) + render partial: 'twitter-bootstrap/breadcrumbs', locals: {divider: divider} + end +end diff --git a/app/views/twitter-bootstrap/_breadcrumbs.html.erb b/app/views/twitter-bootstrap/_breadcrumbs.html.erb new file mode 100644 index 00000000..615aff36 --- /dev/null +++ b/app/views/twitter-bootstrap/_breadcrumbs.html.erb @@ -0,0 +1,14 @@ + diff --git a/lib/twitter/bootstrap/rails/engine.rb b/lib/twitter/bootstrap/rails/engine.rb index 807e0ef3..7f69ed15 100644 --- a/lib/twitter/bootstrap/rails/engine.rb +++ b/lib/twitter/bootstrap/rails/engine.rb @@ -1,16 +1,22 @@ require 'rails' +require File.dirname(__FILE__) + '/twitter-bootstrap-breadcrumbs.rb' module Twitter module Bootstrap module Rails class Engine < ::Rails::Engine - + initializer 'twitter-bootstrap-rails.setup', :after => 'less-rails.after.load_config_initializers', :group => :all do |app| - app.config.less.paths << File.join(config.root, 'vendor', 'toolkit') - end + app.config.less.paths << File.join(config.root, 'vendor', 'toolkit') + end + initializer 'twitter-bootstrap-rails.setup_helpers' do |app| + app.config.to_prepare do + ActionController::Base.send(:include, BreadCrumbs) + end + end end end end diff --git a/lib/twitter/bootstrap/rails/twitter-bootstrap-breadcrumbs.rb b/lib/twitter/bootstrap/rails/twitter-bootstrap-breadcrumbs.rb new file mode 100644 index 00000000..e5f7234f --- /dev/null +++ b/lib/twitter/bootstrap/rails/twitter-bootstrap-breadcrumbs.rb @@ -0,0 +1,25 @@ +module Twitter + module Bootstrap + module BreadCrumbs + def self.included(base) + base.extend(ClassMethods) + end + + module ClassMethods + def add_breadcrumb name, url, options={} + before_filter options do |controller| + controller.send :add_breadcrumb, name, url + end + end + end + + protected + + def add_breadcrumb name, url = '' + @breadcrumbs ||= [] + url = eval(url) if url =~ /_path|_url|@/ + @breadcrumbs << {name: name, url: url} + end + end + end +end