cheveret 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/README.md +2 -0
  2. data/VERSION +1 -1
  3. data/cheveret.gemspec +1 -1
  4. data/lib/cheveret.rb +6 -3
  5. metadata +3 -3
data/README.md CHANGED
@@ -96,6 +96,8 @@ Todo
96
96
  * Make the documentation tell fewer lies
97
97
  * Support i18n translations for table headers
98
98
  * Handle exceeding table width, drop columns
99
+ * Better support for ActiveRecord model objects
100
+ * Write some tests
99
101
 
100
102
  Note on Patches/Pull Requests
101
103
  -----------------------------
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.1
1
+ 1.1.2
data/cheveret.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{cheveret}
8
- s.version = "1.1.1"
8
+ s.version = "1.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ben Caldwell"]
data/lib/cheveret.rb CHANGED
@@ -27,8 +27,9 @@ module Cheveret
27
27
  class Table
28
28
  attr_accessor :columns
29
29
 
30
- def initialize()
30
+ def initialize(&block)
31
31
  @columns = ::ActiveSupport::OrderedHash.new
32
+ yield self if block_given?
32
33
  end
33
34
 
34
35
  def columns(*args, &block)
@@ -155,7 +156,7 @@ module Cheveret
155
156
  # view helper that facilities the rendering of tables for a collection of similar
156
157
  # objects
157
158
  #
158
- # behaves much in the same way as Rails +form+for+ helper in that it takes a proc
159
+ # behaves much in the same way as Rails +form_for+ helper in that it takes a proc
159
160
  # and provides access to a table builder object. the entire block is captured, so
160
161
  # additional markup can be output at any point
161
162
  #
@@ -169,13 +170,15 @@ module Cheveret
169
170
  # * <tt>:width</tt> - the total width of the table in pixels
170
171
  # * <tt>:html</tt> - a hash of html attributes used for the form container
171
172
  # * <tt>:url</tt> - used to generate urls for sortable columns
173
+ # * <tt>:table</tt> - specify a pre-configured table to render
172
174
  #
173
175
  # === Examples
174
176
  def table_for(collection, options={}, &block)
175
177
  builder = options.delete(:builder) || ActionView::Base.default_table_builder
178
+ table = options.delete(:table) || Table.new
176
179
 
177
180
  options.merge!({ :collection => collection })
178
- builder.render(Table.new, self, options, &block)
181
+ builder.render(table, self, options, &block)
179
182
  end
180
183
 
181
184
  # the default #TableBuilder class generates an HTML table using div tags
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cheveret
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
- - 1
10
- version: 1.1.1
9
+ - 2
10
+ version: 1.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ben Caldwell