bootstrap_help 0.0.24 → 0.0.25

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0dc36c2542ff2a2ab79117d29f5c59b6805c1a63
4
- data.tar.gz: 09b3a68aa70b938572d91db608db093927828e2e
3
+ metadata.gz: 6c41d4737f95ad4021d359cab30fc681d16aafb8
4
+ data.tar.gz: 67f4e360dcb4512dcdb47535772f54ea8a4924a0
5
5
  SHA512:
6
- metadata.gz: 356b0c3c823c7f9769dde05f22449fc42b84b71d3e0091fbf30e4bb229ceffc1732b42686f07782e03665a23d9d88e3747d0f75f2bf506d8990ccc6af7ee4377
7
- data.tar.gz: 172d12d6cffbf092ff00ae6bab55da7e9209571c33ece8d1e67a8963bd942510301f59a2be08094f99714f132a19f62833bbd0e2e61f188413bac6faca2059f7
6
+ metadata.gz: 43d622224a3cd5007de397778bdda8395e9a689f7d14e6ecf4a75a4731e238805e3bd86c2efce4076f9f0d6dfc9aaa5971df438fbbe54f4ec238028e1778755d
7
+ data.tar.gz: 97ca13598de23fb34aef8482c78ddb8960320cc906fbdfc509c761a97a281cf1d52ce576f78614b1d34382256cdf9d61415051dc6b6b41be504948eec12107d6
data/README.md CHANGED
@@ -46,6 +46,22 @@ The Table Helper helps you quickly build Bootstrap tables with collections of in
46
46
  = column 'Type of Apple', :type
47
47
  ```
48
48
 
49
+ ### Button Helper
50
+
51
+ The button helper renders buttons with the proper Bootstrap markup. You can optionally add icons from the Bootstrap library that are listed [here](http://getbootstrap.com/2.3.2/base-css.html#icons "Bootstrap Icons")
52
+
53
+ ```haml
54
+ = button_to "New Store", new_store_path
55
+ = button_to "Edit Store", edit_store_path(@store), icon: "edit"
56
+ ```
57
+
58
+ ```haml
59
+ = button_toolbar do
60
+ = button "zoom-in", store
61
+ = button "edit", edit_store_path(@store)
62
+ = button "remove-sign", store, method: :delete
63
+ ```
64
+
49
65
  ## Contributing
50
66
 
51
67
  1. Fork it
@@ -4,6 +4,7 @@ module BootstrapHelp
4
4
  include ActionView::Helpers::TextHelper
5
5
  include ActionView::Helpers::UrlHelper
6
6
  include ActionView::Context
7
+ include BootstrapHelp::OptionHelpers
7
8
 
8
9
  def button_toolbar(&block)
9
10
  @buttons = []
@@ -11,7 +12,7 @@ module BootstrapHelp
11
12
  content_tag :div, class: "btn-toolbar" do
12
13
  content_tag :div, class: "btn-group" do
13
14
  @buttons.each do |button|
14
- concat(draw_button(*button))
15
+ concat(draw_icon_button(*button))
15
16
  end
16
17
  end
17
18
  end
@@ -22,9 +23,21 @@ module BootstrapHelp
22
23
  nil
23
24
  end
24
25
 
26
+ def button_to(name=nil, url=nil, options={})
27
+ icon_suffix = options[:icon]
28
+ options.delete_if { |k, v| k == :icon }
29
+ button_options = append_css_class("btn btn-primary", options)
30
+ link_to url, button_options do
31
+ if icon_suffix.present?
32
+ concat(content_tag :i, nil, class: "icon-#{icon_suffix}")
33
+ end
34
+ concat(name)
35
+ end
36
+ end
37
+
25
38
  private
26
39
 
27
- def draw_button(*args)
40
+ def draw_icon_button(*args)
28
41
  icon_suffix = args.first
29
42
  options = args[1] || {}
30
43
  html_options = args[2] || {}
@@ -1,6 +1,7 @@
1
1
  module BootstrapHelp
2
2
  class Railtie < Rails::Railtie
3
3
  initializer "bootstrap_help.nav_helpers" do
4
+ ActionView::Base.send :include, OptionHelpers
4
5
  ActionView::Base.send :include, ButtonHelpers
5
6
  ActionView::Base.send :include, NavHelpers
6
7
  ActionView::Base.send :include, TableHelpers
@@ -1,3 +1,3 @@
1
1
  module BootstrapHelp
2
- VERSION = "0.0.24"
2
+ VERSION = "0.0.25"
3
3
  end
@@ -2,6 +2,7 @@ require 'rails'
2
2
  require 'action_view'
3
3
  require 'bootstrap_help/railtie'
4
4
  require "bootstrap_help/version"
5
+ require 'bootstrap_help/option_helpers'
5
6
  require 'bootstrap_help/button_helpers'
6
7
  require 'bootstrap_help/nav_helpers'
7
8
  require 'bootstrap_help/table_helpers'
@@ -8,6 +8,8 @@ describe BootstrapHelp::ButtonHelpers do
8
8
  HelpersClass.new
9
9
  end
10
10
 
11
+ let(:options_hash) {{ class: "test" }}
12
+
11
13
  describe '#table_for' do
12
14
  it 'returns a bootstrap table for a given collection' do
13
15
  expected_result = "<div class=\"btn-toolbar\"><div class=\"btn-group\"><a class=\"btn\" href=\"/test\"><i class=\"icon-edit\"></i></a><a class=\"btn\" href=\"/test-again\"><i class=\"icon-new\"></i></a><a class=\"btn\" data-method=\"delete\" href=\"/test-again\" rel=\"nofollow\"><i class=\"icon-new\"></i></a></div></div>"
@@ -21,4 +23,16 @@ describe BootstrapHelp::ButtonHelpers do
21
23
  expect(helpers.button_toolbar(&block)).to eq(expected_result)
22
24
  end
23
25
  end
26
+
27
+ describe '#button_to' do
28
+ it "returns a primary button" do
29
+ expect(helpers.button_to('New Store', '#')).to eq("<a class=\"btn btn-primary\" href=\"#\">New Store</a>")
30
+ end
31
+
32
+ it "returns a primary button with an icon when specified" do
33
+ expected_result = "<a class=\"btn btn-primary\" href=\"#\"><i class=\"icon-edit\"></i>New Store</a>"
34
+ expect(helpers.button_to('New Store', '#', icon: "edit")).
35
+ to eq(expected_result)
36
+ end
37
+ end
24
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap_help
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.24
4
+ version: 0.0.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Klina
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-13 00:00:00.000000000 Z
11
+ date: 2013-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler