bootstrap_help 0.0.19 → 0.0.20

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: 18e3af557a9b03c01bbf6bf3570c9f2657b2e73f
4
- data.tar.gz: 0e6043adc86f3b74a7f899e0dac843f20b3a407b
3
+ metadata.gz: ab8ca9ac63efa5968577162a9237d6f615539bd5
4
+ data.tar.gz: 2efaa82aafd1b9724542d5aa6e8628a0f56e6c2b
5
5
  SHA512:
6
- metadata.gz: 2c174f7b4934d82258dc428eab24822ed3204cd2f5a9fa3f4e5495e757572304b69b7a267d564e86a529f938f5f5738ee35d2fd83a05651fd88f96d7e361396b
7
- data.tar.gz: a23ee602af85877de6bc09ba9c90877a89df944e8b1acf7f1117a716b2b49ce7f031932754bd74194b58cfda6f742d7d3903abacaba72f5eb6cd7b9bdf9435c3
6
+ metadata.gz: 221088289c45ff250deac9cef403d44621fa8d3704dc4485cd2628d449dab95aeb3ccb054a2c6e4dbb5dc50bf6335beab641a3f44b044c87d03ddcac5a12c15d
7
+ data.tar.gz: 4ee4902c91795ce3433c204c8d1fd823805dba646bc2c9e403b21e8397600adaa7f1b1a7b6e0d397fcf5620147eac953b93f24e796122bff596632f2c015a58b
data/README.md CHANGED
@@ -41,8 +41,8 @@ The Table Helper helps you quickly build Bootstrap tables with collections of in
41
41
 
42
42
  ```haml
43
43
  = table_for(@apples) do
44
- = column :color do |color|
45
- - color.to_hex
44
+ = column "Hex Color" do |apple|
45
+ - apple.color.to_hex
46
46
  = column 'Type of Apple', :type
47
47
  ```
48
48
 
@@ -0,0 +1,30 @@
1
+ module BootstrapHelp
2
+ module ButtonHelpers
3
+ include ActionView::Helpers::TagHelper
4
+ include ActionView::Helpers::TextHelper
5
+ include ActionView::Helpers::UrlHelper
6
+ include ActionView::Context
7
+
8
+ def button_toolbar(&block)
9
+ @buttons = []
10
+ block.call
11
+ content_tag :div, class: "btn-toolbar" do
12
+ @buttons.each do |button|
13
+ concat(draw_button(button[:icon_suffix], button[:options]))
14
+ end
15
+ end
16
+ end
17
+
18
+ def button(icon_suffix, options)
19
+ @buttons << {icon_suffix: icon_suffix, options: options}
20
+ end
21
+
22
+ private
23
+
24
+ def draw_button(icon_suffix, options)
25
+ link_to options, class: "btn" do
26
+ content_tag :i, nil, class: "icon-#{icon_suffix}"
27
+ end
28
+ end
29
+ end
30
+ end
@@ -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, ButtonHelpers
4
5
  ActionView::Base.send :include, NavHelpers
5
6
  ActionView::Base.send :include, TableHelpers
6
7
  end
@@ -5,7 +5,7 @@ module BootstrapHelp
5
5
  include ActionView::Helpers::UrlHelper
6
6
  include ActionView::Context
7
7
 
8
- def table_for(collection, &block)
8
+ def table_for(collection, args={}, &block)
9
9
  @columns = []
10
10
  block.call
11
11
  content_tag :table, class: "table table-striped table-bordered" do
@@ -56,11 +56,10 @@ module BootstrapHelp
56
56
  end
57
57
 
58
58
  def parse_column(column, item)
59
- attribute = item.send(column.fetch(:value))
60
59
  if column[:block].present?
61
- output = column[:block].call(attribute)
60
+ output = column[:block].call(item)
62
61
  else
63
- output = attribute
62
+ output = item.send(column.fetch(:value))
64
63
  end
65
64
  concat(draw_column { concat(output) })
66
65
  end
@@ -1,3 +1,3 @@
1
1
  module BootstrapHelp
2
- VERSION = "0.0.19"
2
+ VERSION = "0.0.20"
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/button_helpers'
5
6
  require 'bootstrap_help/nav_helpers'
6
7
  require 'bootstrap_help/table_helpers'
7
8
 
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe BootstrapHelp::ButtonHelpers do
4
+ let(:helpers) do
5
+ class HelpersClass
6
+ include BootstrapHelp::ButtonHelpers
7
+ end
8
+ HelpersClass.new
9
+ end
10
+
11
+ describe '#table_for' do
12
+ it 'returns a bootstrap table for a given collection' do
13
+ expected_result = "<div class=\"btn-toolbar\"><a class=\"btn\" href=\"/test\"><i class=\"icon-edit\"></i></a><a class=\"btn\" href=\"/test-again\"><i class=\"icon-new\"></i></a></div>"
14
+
15
+ block = Proc.new {
16
+ helpers.button 'edit', "/test"
17
+ helpers.button 'new', "/test-again"
18
+ }
19
+
20
+ expect(helpers.button_toolbar(&block)).to eq(expected_result)
21
+ end
22
+ end
23
+ end
@@ -8,22 +8,40 @@ describe BootstrapHelp::TableHelpers do
8
8
  HelpersClass.new
9
9
  end
10
10
 
11
+ collection = []
12
+ Customer = Struct.new(:name, :address)
13
+ collection << Customer.new('Josh', '111')
14
+ collection << Customer.new('Dave', '222')
15
+
11
16
  describe '#table_for' do
12
17
  it 'returns a bootstrap table for a given collection' do
13
- collection = []
14
- Customer = Struct.new(:name, :address)
15
- collection << Customer.new('Josh', '111')
16
- collection << Customer.new('Dave', '222')
17
18
  expected_result = "<table class=\"table table-striped table-bordered\"><thead><tr><th>Name</th><th>Address</th></tr></thead><tbody><tr><td>JOSH</td><td>111</td></tr><tr><td>DAVE</td><td>222</td></tr></tbody></table>"
18
19
 
19
20
  block = Proc.new {
20
- helpers.column 'name' do |value|
21
- value.upcase
21
+ helpers.column 'name' do |customer|
22
+ customer.name.upcase
23
+ end
24
+ helpers.column 'address'
25
+ }
26
+
27
+ expect(helpers.table_for(collection, &block)).to eq(expected_result)
28
+ end
29
+
30
+ it "has the ability to add manageable links to the end of the table" do
31
+ expected_result = "<table class=\"table table-striped table-bordered\"><thead><tr><th>Name</th><th>Address</th><th>Any Old Name</th></tr></thead><tbody><tr><td>JOSH</td><td>111</td><td>hello</td></tr><tr><td>DAVE</td><td>222</td><td>hello</td></tr></tbody></table>"
32
+
33
+ block = Proc.new {
34
+ helpers.column 'name' do |customer|
35
+ customer.name.upcase
22
36
  end
23
37
  helpers.column 'address'
38
+ helpers.column 'Any Old Name' do |customer|
39
+ "hello"
40
+ end
24
41
  }
25
42
 
26
43
  expect(helpers.table_for(collection, &block)).to eq(expected_result)
44
+
27
45
  end
28
46
  end
29
47
  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.19
4
+ version: 0.0.20
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-08-22 00:00:00.000000000 Z
11
+ date: 2013-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,10 +94,12 @@ files:
94
94
  - Rakefile
95
95
  - bootstrap_help.gemspec
96
96
  - lib/bootstrap_help.rb
97
+ - lib/bootstrap_help/button_helpers.rb
97
98
  - lib/bootstrap_help/nav_helpers.rb
98
99
  - lib/bootstrap_help/railtie.rb
99
100
  - lib/bootstrap_help/table_helpers.rb
100
101
  - lib/bootstrap_help/version.rb
102
+ - spec/bootstrap_helper/button_helper_spec.rb
101
103
  - spec/bootstrap_helper/nav_helper_spec.rb
102
104
  - spec/bootstrap_helper/table_helper_spec.rb
103
105
  - spec/spec_helper.rb
@@ -126,6 +128,7 @@ signing_key:
126
128
  specification_version: 4
127
129
  summary: Twitter Bootstrap makeup generators
128
130
  test_files:
131
+ - spec/bootstrap_helper/button_helper_spec.rb
129
132
  - spec/bootstrap_helper/nav_helper_spec.rb
130
133
  - spec/bootstrap_helper/table_helper_spec.rb
131
134
  - spec/spec_helper.rb