tabulatr 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -4,7 +4,11 @@ gemspec
4
4
 
5
5
  group :development, :test do
6
6
  gem 'sqlite3-ruby', :require => 'sqlite3'
7
- gem 'ruby-debug19'
7
+ if RUBY_VERSION.to_f < 1.9
8
+ gem 'ruby-debug'
9
+ else
10
+ gem 'ruby-debug19'
11
+ end
8
12
  gem 'rspec'
9
13
  gem 'rspec-rails'
10
14
  gem 'capybara'
data/Gemfile.lock CHANGED
@@ -36,7 +36,6 @@ GEM
36
36
  activemodel (= 3.0.5)
37
37
  activesupport (= 3.0.5)
38
38
  activesupport (3.0.5)
39
- archive-tar-minitar (0.5.2)
40
39
  arel (2.0.9)
41
40
  builder (2.1.2)
42
41
  capybara (0.4.1.2)
@@ -66,8 +65,7 @@ GEM
66
65
  launchy (0.4.0)
67
66
  configuration (>= 0.0.5)
68
67
  rake (>= 0.8.1)
69
- linecache19 (0.5.11)
70
- ruby_core_source (>= 0.1.4)
68
+ linecache (0.43)
71
69
  mail (2.2.15)
72
70
  activesupport (>= 2.3.6)
73
71
  i18n (>= 0.4.0)
@@ -108,16 +106,11 @@ GEM
108
106
  activesupport (~> 3.0)
109
107
  railties (~> 3.0)
110
108
  rspec (~> 2.5.0)
111
- ruby-debug-base19 (0.11.24)
112
- columnize (>= 0.3.1)
113
- linecache19 (>= 0.5.11)
114
- ruby_core_source (>= 0.1.4)
115
- ruby-debug19 (0.11.6)
116
- columnize (>= 0.3.1)
117
- linecache19 (>= 0.5.11)
118
- ruby-debug-base19 (>= 0.11.19)
119
- ruby_core_source (0.1.4)
120
- archive-tar-minitar (>= 0.5.2)
109
+ ruby-debug (0.10.4)
110
+ columnize (>= 0.1)
111
+ ruby-debug-base (~> 0.10.4.0)
112
+ ruby-debug-base (0.10.4)
113
+ linecache (>= 0.3)
121
114
  rubyzip (0.9.4)
122
115
  selenium-webdriver (0.1.3)
123
116
  childprocess (~> 0.1.5)
@@ -144,6 +137,6 @@ DEPENDENCIES
144
137
  launchy
145
138
  rspec
146
139
  rspec-rails
147
- ruby-debug19
140
+ ruby-debug
148
141
  sqlite3-ruby
149
142
  tabulatr!
data/README.textile CHANGED
@@ -81,7 +81,7 @@ but the result is pretty fancy, already:
81
81
 
82
82
  <img src="https://github.com/provideal/tabulatr/raw/master/assets/simple_table.png" />
83
83
 
84
- To add a column with ckeckboxes (thus giving all the "Select ..." buttons a reasonable semantics), we simply add a
84
+ To add a column with checkboxes (thus giving all the "Select ..." buttons a reasonable semantics), we simply add a
85
85
 
86
86
  <pre>
87
87
  t.checkbox
@@ -97,7 +97,7 @@ To add e.g. edit-buttons, we specify
97
97
  end
98
98
  </pre>
99
99
 
100
- To add a select-popup with batch-actions (i.e., actions that are to be perfored on all selected rows), we add an option to the table_for:
100
+ To add a select-popup with batch-actions (i.e., actions that are to be performed on all selected rows), we add an option to the table_for:
101
101
 
102
102
  <pre>
103
103
  <%= table_for @products, :batch_actions => {'foo' => 'Foo', 'delete' => "Delete"} do |t|
@@ -308,7 +308,7 @@ h2. Dependencies
308
308
  We use
309
309
  * <a href="http://github.com/provideal/whiny_hash">WhinyHash</a> to handle the options in a fail-early-manner,
310
310
  * <a href="http://github.com/provideal/id_stuffer">IdStuffer</a> to compress the _remembered_ ids.
311
- * And... eh... It's an extension for Rails 3, so it might be handy to have a version of Rails 3 and Ruby 1.9.2.
311
+ * And... eh... It's an extension for Rails 3, so it might be handy to have a version of Rails 3 and Ruby 1.8.? or 1.9.?.
312
312
 
313
313
  h2. Bugs
314
314
 
@@ -0,0 +1,34 @@
1
+ #--
2
+ # Copyright (c) 2010-2011 Peter Horn, Provideal GmbH
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining
5
+ # a copy of this software and associated documentation files (the
6
+ # "Software"), to deal in the Software without restriction, including
7
+ # without limitation the rights to use, copy, modify, merge, publish,
8
+ # distribute, sublicense, and/or sell copies of the Software, and to
9
+ # permit persons to whom the Software is furnished to do so, subject to
10
+ # the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ #++
23
+
24
+ # we add the required define_singleton_method method to enable usage of
25
+ # Tabulatr w/ ruby 1.8
26
+ if RUBY_VERSION.to_f < 1.9
27
+ class Object
28
+ def define_singleton_method name, &block
29
+ self.instance_eval do
30
+ (class << self; self; end).send :define_method, name, &block
31
+ end
32
+ end
33
+ end
34
+ end
@@ -23,7 +23,7 @@
23
23
 
24
24
  class Tabulatr
25
25
 
26
- # render the select tag for batch actions
26
+ # render the select tag or the buttons for batch actions
27
27
  def render_batch_actions
28
28
  make_tag(:div, :class => @table_options[:batch_actions_div_class]) do
29
29
  concat(t(@table_options[:batch_actions_label])) if @table_options[:batch_actions_label]
@@ -23,6 +23,7 @@
23
23
 
24
24
  class Tabulatr
25
25
 
26
+ # render the buttons to (de-)select multiple rows
26
27
  def render_select_controls
27
28
  make_tag(:div, :class => @table_options[:select_controls_div_class]) do
28
29
  iname = "#{@classname}#{TABLE_FORM_OPTIONS[:checked_postfix]}"
@@ -68,7 +68,7 @@ class Tabulatr
68
68
  # <tt>:td_html</tt>:: a hash with html-attributes added to the <ts>s created
69
69
  # <tt>:method</tt>:: the actual method invoked on the record to retrieve the
70
70
  # value for the column, or false if name is to be used.
71
- # <tt>:fromat</tt>:: either a String by which the value is <tt>sprinf</tt>ed,
71
+ # <tt>:format</tt>:: either a String by which the value is <tt>sprinf</tt>ed,
72
72
  # a proc/lambda to which the value is passed or false if
73
73
  # no specific formatting is desired.
74
74
  def data_association(relation, name, opts={}, &block)
@@ -46,7 +46,7 @@ module Tabulatr::Finder
46
46
 
47
47
  def method_missing(name, *args, &block)
48
48
  if @batch_action == name
49
- yield(@ids, args)
49
+ yield(@ids)
50
50
  end
51
51
  end
52
52
  end
@@ -28,152 +28,152 @@ class Tabulatr
28
28
  # Hash keeping the defaults for the table options, may be overriden in the
29
29
  # table_for call
30
30
  TABLE_OPTIONS = WhinyHash.new({ # WhinyHash.new({
31
- remote: false, # add data-remote="true" to form
32
-
33
- form_class: 'tabulatr_form', # class of the overall form
34
- table_class: 'tabulatr_table', # class for the actual data table
35
- sortable_class: 'sortable', # class for the header of a sortable column
36
- sorting_asc_class: 'sorting-asc', # class for the currently asc sorting column
37
- sorting_desc_class: 'sorting-desc', # class for the currently desc sorting column
38
- page_left_class: 'page-left', # class for the page left button
39
- page_right_class: 'page-right', # class for the page right button
40
- page_no_class: 'page-no', # class for the page no <input>
41
- control_div_class_before: 'table-controls', # class of the upper div containing the paging and batch action controls
42
- control_div_class_after: 'table-controls', # class of the lower div containing the paging and batch action controls
43
- paginator_div_class: 'paginator', # class of the div containing the paging controls
44
- batch_actions_div_class: 'batch-actions', # class of the div containing the batch action controls
45
- select_controls_div_class: 'check-controls', # class of the div containing the check controls
46
- submit_class: 'submit-table', # class of submit button
47
- pagesize_select_class: 'pagesize_select', # class of the pagesize select element
48
- select_all_class: 'select-btn', # class of the select all button
49
- select_none_class: 'select-btn', # class of the select none button
50
- select_visible_class: 'select-btn', # class of the select visible button
51
- unselect_visible_class: 'select-btn', # class of the unselect visible button
52
- select_filtered_class: 'select-btn', # class of the select filtered button
53
- unselect_filtered_class: 'select-btn', # class of the unselect filteredbutton
54
- info_text_class: 'info-text', # class of the info text div
55
-
56
- batch_actions_label: 'Batch Action: ', # Text to show in front of the batch action select
57
- batch_actions_type: :select, # :select or :button depending on the kind of input you want
58
- batch_actions_class: 'batch-action-inputs', # class to apply on the batch action input elements
59
- submit_label: 'Apply', # Text on the submit button
60
- select_all_label: 'Select All', # Text on the select all button
61
- select_none_label: 'Select None', # Text on the select none button
62
- select_visible_label: 'Select visible', # Text on the select visible button
63
- unselect_visible_label: 'Unselect visible', # Text on the unselect visible button
64
- select_filtered_label: 'Select filtered', # Text on the select filtered button
65
- unselect_filtered_label: 'Unselect filtered',# Text on the unselect filtered button
66
- info_text: "Showing %1$d, total %2$d, selected %3$d, matching %4$d",
31
+ :remote => false, # add data-remote="true" to form
32
+
33
+ :form_class => 'tabulatr_form', # class of the overall form
34
+ :table_class => 'tabulatr_table', # class for the actual data table
35
+ :sortable_class => 'sortable', # class for the header of a sortable column
36
+ :sorting_asc_class => 'sorting-asc', # class for the currently asc sorting column
37
+ :sorting_desc_class => 'sorting-desc', # class for the currently desc sorting column
38
+ :page_left_class => 'page-left', # class for the page left button
39
+ :page_right_class => 'page-right', # class for the page right button
40
+ :page_no_class => 'page-no', # class for the page no <input>
41
+ :control_div_class_before => 'table-controls', # class of the upper div containing the paging and batch action controls
42
+ :control_div_class_after => 'table-controls', # class of the lower div containing the paging and batch action controls
43
+ :paginator_div_class => 'paginator', # class of the div containing the paging controls
44
+ :batch_actions_div_class => 'batch-actions', # class of the div containing the batch action controls
45
+ :select_controls_div_class => 'check-controls', # class of the div containing the check controls
46
+ :submit_class => 'submit-table', # class of submit button
47
+ :pagesize_select_class => 'pagesize_select', # class of the pagesize select element
48
+ :select_all_class => 'select-btn', # class of the select all button
49
+ :select_none_class => 'select-btn', # class of the select none button
50
+ :select_visible_class => 'select-btn', # class of the select visible button
51
+ :unselect_visible_class => 'select-btn', # class of the unselect visible button
52
+ :select_filtered_class => 'select-btn', # class of the select filtered button
53
+ :unselect_filtered_class => 'select-btn', # class of the unselect filteredbutton
54
+ :info_text_class => 'info-text', # class of the info text div
55
+
56
+ :batch_actions_label => 'Batch :Action => ', # Text to show in front of the batch action select
57
+ :batch_actions_type => :select, # :select or :button depending on the kind of input you want
58
+ :batch_actions_class => 'batch-action-inputs', # class to apply on the batch action input elements
59
+ :submit_label => 'Apply', # Text on the submit button
60
+ :select_all_label => 'Select All', # Text on the select all button
61
+ :select_none_label => 'Select None', # Text on the select none button
62
+ :select_visible_label => 'Select visible', # Text on the select visible button
63
+ :unselect_visible_label => 'Unselect visible', # Text on the unselect visible button
64
+ :select_filtered_label => 'Select filtered', # Text on the select filtered button
65
+ :unselect_filtered_label => 'Unselect filtered',# Text on the unselect filtered button
66
+ :info_text => "Showing %1$d, total %2$d, selected %3$d, matching %4$d",
67
67
 
68
68
  # which controls to be rendered above and below the tabel and in which order
69
- before_table_controls: [:submit, :paginator, :batch_actions, :select_controls, :info_text],
70
- after_table_controls: [],
69
+ :before_table_controls => [:submit, :paginator, :batch_actions, :select_controls, :info_text],
70
+ :after_table_controls => [],
71
71
 
72
72
  # whih selecting controls to render in which order
73
- select_controls: [:select_all, :select_none, :select_visible, :unselect_visible,
73
+ :select_controls => [:select_all, :select_none, :select_visible, :unselect_visible,
74
74
  :select_filtered, :unselect_filtered],
75
75
 
76
76
 
77
- image_path_prefix: '/images/tabulatr/',
78
- pager_left_button: 'left.gif',
79
- pager_left_button_inactive: 'left_off.gif',
80
- pager_right_button: 'right.gif',
81
- pager_right_button_inactive: 'right_off.gif',
82
- sort_up_button: 'up.gif',
83
- sort_up_button_inactive: 'up_off.gif',
84
- sort_down_button: 'down.gif',
85
- sort_down_button_inactive: 'down_off.gif',
86
-
87
- make_form: true, # whether or not to wrap the whole table (incl. controls) in a form
88
- table_html: false, # a hash with html attributes for the table
89
- row_html: false, # a hash with html attributes for the normal trs
90
- header_html: false, # a hash with html attributes for the header trs
91
- filter_html: false, # a hash with html attributes for the filter trs
92
- filter: true, # false for no filter row at all
93
- paginate: true, # true to show paginator
94
- sortable: true, # true to allow sorting (can be specified for every sortable column)
95
- selectable: true, # true to render "select all", "select none" and the like
96
- action: nil, # target action of the wrapping form if applicable
97
- batch_actions: false, # name: value hash of batch action stuff
98
- translate: false, # call t() for all 'labels' and stuff, possible values are true/:translate or :localize
99
- row_classes: ['odd', 'even'] # class for the trs
77
+ :image_path_prefix => '/images/tabulatr/',
78
+ :pager_left_button => 'left.gif',
79
+ :pager_left_button_inactive => 'left_off.gif',
80
+ :pager_right_button => 'right.gif',
81
+ :pager_right_button_inactive => 'right_off.gif',
82
+ :sort_up_button => 'up.gif',
83
+ :sort_up_button_inactive => 'up_off.gif',
84
+ :sort_down_button => 'down.gif',
85
+ :sort_down_button_inactive => 'down_off.gif',
86
+
87
+ :make_form => true, # whether or not to wrap the whole table (incl. controls) in a form
88
+ :table_html => false, # a hash with html attributes for the table
89
+ :row_html => false, # a hash with html attributes for the normal trs
90
+ :header_html => false, # a hash with html attributes for the header trs
91
+ :filter_html => false, # a hash with html attributes for the filter trs
92
+ :filter => true, # false for no filter row at all
93
+ :paginate => true, # true to show paginator
94
+ :sortable => true, # true to allow sorting (can be specified for every sortable column)
95
+ :selectable => true, # true to render "select all", "select none" and the like
96
+ :action => nil, # target action of the wrapping form if applicable
97
+ :batch_actions => false, # :name => value hash of batch action stuff
98
+ :translate => false, # call t() for all 'labels' and stuff, possible values are true/:translate or :localize
99
+ :row_classes => ['odd', 'even'] # class for the trs
100
100
  })
101
101
 
102
102
  # these settings are considered constant for the whole application, can not be overridden
103
103
  # on a per-table basis.
104
104
  # That's necessary to allow find_for_table to work properly
105
105
  TABLE_FORM_OPTIONS = WhinyHash.new({
106
- batch_action_name: 'batch_action', # name of the batch action param
107
- sort_by_key: 'sort_by_key', # name of key which to search, format is 'id asc'
108
- pagination_postfix: '_pagination', # name of the param w/ the pagination infos
109
- filter_postfix: '_filter', # postfix for name of the filter in the params hash: xxx_filter
110
- sort_postfix: '_sort', # postfix for name of the filter in the params hash: xxx_filter
111
- checked_postfix: '_checked', # postfix for name of the checked in the params hash: xxx_filter
112
- associations_filter: '__association', # name of the associations in the filter hash
113
- method: 'post', # http method for that form if applicable
114
- batch_postfix: '_batch', # postfix for name of the batch action select
115
- checked_separator: ',' # symbol to separate the checked ids
106
+ :batch_action_name => 'batch_action', # name of the batch action param
107
+ :sort_by_key => 'sort_by_key', # name of key which to search, format is 'id asc'
108
+ :pagination_postfix => '_pagination', # name of the param w/ the pagination infos
109
+ :filter_postfix => '_filter', # postfix for name of the filter in the params :hash => xxx_filter
110
+ :sort_postfix => '_sort', # postfix for name of the filter in the params :hash => xxx_filter
111
+ :checked_postfix => '_checked', # postfix for name of the checked in the params :hash => xxx_filter
112
+ :associations_filter => '__association', # name of the associations in the filter hash
113
+ :method => 'post', # http method for that form if applicable
114
+ :batch_postfix => '_batch', # postfix for name of the batch action select
115
+ :checked_separator => ',' # symbol to separate the checked ids
116
116
  })
117
117
 
118
118
  # these settings are considered constant for the whole application, can not be overridden
119
119
  # on a per-table basis.
120
120
  # That's necessary to allow find_for_table to work properly
121
121
  PAGINATE_OPTIONS = ActiveSupport::HashWithIndifferentAccess.new({
122
- page: 1,
123
- pagesize: 10,
124
- pagesizes: [10, 20, 50]
122
+ :page => 1,
123
+ :pagesize => 10,
124
+ :pagesizes => [10, 20, 50]
125
125
  })
126
126
 
127
127
  # Hash keeping the defaults for the column options
128
128
  COLUMN_OPTIONS = ActiveSupport::HashWithIndifferentAccess.new({
129
- header: false, # a string to write into the header cell
130
- width: false, # the width of the cell
131
- align: false, # horizontal alignment
132
- valign: false, # vertical alignment
133
- wrap: true, # wraps
134
- type: :string, # :integer, :date
135
- td_html: false, # a hash with html attributes for the cells
136
- th_html: false, # a hash with html attributes for the header cell
137
- filter_html: false, # a hash with html attributes for the filter cell
138
- filter: true, # false for no filter field,
129
+ :header => false, # a string to write into the header cell
130
+ :width => false, # the width of the cell
131
+ :align => false, # horizontal alignment
132
+ :valign => false, # vertical alignment
133
+ :wrap => true, # wraps
134
+ :type => :string, # :integer, :date
135
+ :td_html => false, # a hash with html attributes for the cells
136
+ :th_html => false, # a hash with html attributes for the header cell
137
+ :filter_html => false, # a hash with html attributes for the filter cell
138
+ :filter => true, # false for no filter field,
139
139
  # container for options_for_select
140
140
  # String from options_from_collection_for_select or the like
141
141
  # :range for range spec
142
142
  # :checkbox for a 0/1 valued checkbox
143
- checkbox_value: '1', # value if checkbox is checked
144
- checkbox_label: '', # text behind the checkbox
145
- filter_width: '97%', # width of the filter <input>
146
- range_filter_symbol: '&ndash;', # put between the <inputs> of the range filter
147
- format: false, # a sprintf-string or a proc to do special formatting
148
- method: false, # if you want to get the column by a different method than its name
149
- link: false, # proc or symbol to make the content a link
150
- join_symbol: ', ', # symbol used to join the elements of 'many' associations
151
- sortable: true # if set, sorting-stuff is added to the header cell
143
+ :checkbox_value => '1', # value if checkbox is checked
144
+ :checkbox_label => '', # text behind the checkbox
145
+ :filter_width => '97%', # width of the filter <input>
146
+ :range_filter_symbol => '&ndash;', # put between the <inputs> of the range filter
147
+ :format => false, # a sprintf-string or a proc to do special formatting
148
+ :method => false, # if you want to get the column by a different method than its name
149
+ :link => false, # proc or symbol to make the content a link
150
+ :join_symbol => ', ', # symbol used to join the elements of 'many' associations
151
+ :sortable => true # if set, sorting-stuff is added to the header cell
152
152
  })
153
153
 
154
154
  # these settings are considered constant for the whole application, can not be overridden
155
155
  # on a per-table basis.
156
156
  # That's necessary to allow find_for_table to work properly
157
157
  FINDER_INJECT_OPTIONS = WhinyHash.new({
158
- pagination: :__pagination,
159
- filters: :__filters,
160
- classname: :__classname,
161
- sorting: :__sorting,
162
- checked: :__checked,
163
- store_data: :__store_data
158
+ :pagination => :__pagination,
159
+ :filters => :__filters,
160
+ :classname => :__classname,
161
+ :sorting => :__sorting,
162
+ :checked => :__checked,
163
+ :store_data => :__store_data
164
164
  })
165
165
 
166
166
  # defaults for the find_for_table
167
167
  FINDER_OPTIONS = WhinyHash.new({
168
- default_order: false,
169
- default_pagesize: false,
170
- precondition: false,
171
- store_data: false
168
+ :default_order => false,
169
+ :default_pagesize => false,
170
+ :precondition => false,
171
+ :store_data => false
172
172
  })
173
173
 
174
174
  # Stupid hack
175
175
  SQL_OPTIONS = WhinyHash.new({
176
- like: 'LIKE'
176
+ :like => 'LIKE'
177
177
  })
178
178
 
179
179
  def self.finder_inject_options(n=nil)
@@ -1,3 +1,3 @@
1
1
  class Tabulatr
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -2,10 +2,10 @@ class ProductsController < ApplicationController
2
2
 
3
3
  def index
4
4
  @products = Product.find_for_table(params,
5
- precondition: "products.id < 100",
6
- default_order: "products.id asc",
7
- default_pagesize: 10,
8
- store_data: {:ping => 'pong'}) do |batch_action|
5
+ :precondition => "products.id < 100",
6
+ :default_order => "products.id asc",
7
+ :default_pagesize => 10,
8
+ :store_data => {:ping => 'pong'}) do |batch_action|
9
9
  batch_action.activate do |ids| activate_batch_action(ids, true) end
10
10
  batch_action.deactivate do |ids| activate_batch_action(ids, false) end
11
11
  batch_action.foo do |ids| render :text => "Action Foo: #{ids.to_s}"; return end
@@ -1,11 +1,11 @@
1
1
  Tabulatr.table_options :form_class => 'hooray',
2
- image_path_prefix: '/images/tabulatr/',
3
- pager_left_button: 'pager_arrow_left.gif',
4
- pager_left_button_inactive: 'pager_arrow_left_off.gif',
5
- pager_right_button: 'pager_arrow_right.gif',
6
- pager_right_button_inactive: 'pager_arrow_right_off.gif',
7
- sort_up_button: 'sort_arrow_up.gif',
8
- sort_up_button_inactive: 'sort_arrow_up_off.gif',
9
- sort_down_button: 'sort_arrow_down.gif',
10
- sort_down_button_inactive: 'sort_arrow_down_off.gif'
2
+ :image_path_prefix => '/images/tabulatr/',
3
+ :pager_left_button => 'pager_arrow_left.gif',
4
+ :pager_left_button_inactive => 'pager_arrow_left_off.gif',
5
+ :pager_right_button => 'pager_arrow_right.gif',
6
+ :pager_right_button_inactive => 'pager_arrow_right_off.gif',
7
+ :sort_up_button => 'sort_arrow_up.gif',
8
+ :sort_up_button_inactive => 'sort_arrow_up_off.gif',
9
+ :sort_down_button => 'sort_arrow_down.gif',
10
+ :sort_down_button_inactive => 'sort_arrow_down_off.gif'
11
11
 
@@ -31,7 +31,6 @@ describe "Tabulatrs" do
31
31
  tag1 = Tag.create!(:title => 'foo')
32
32
  tag2 = Tag.create!(:title => 'bar')
33
33
  tag3 = Tag.create!(:title => 'fubar')
34
- name
35
34
 
36
35
  describe "General data" do
37
36
  it "works in general" do
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tabulatr
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 25
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
8
  - 0
8
- - 2
9
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
10
11
  platform: ruby
11
12
  authors:
12
13
  - Peter Horn
@@ -15,7 +16,7 @@ autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2011-03-17 00:00:00 +01:00
19
+ date: 2011-03-19 00:00:00 +01:00
19
20
  default_executable:
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
@@ -26,6 +27,7 @@ dependencies:
26
27
  requirements:
27
28
  - - ~>
28
29
  - !ruby/object:Gem::Version
30
+ hash: 7
29
31
  segments:
30
32
  - 3
31
33
  - 0
@@ -40,6 +42,7 @@ dependencies:
40
42
  requirements:
41
43
  - - ">="
42
44
  - !ruby/object:Gem::Version
45
+ hash: 27
43
46
  segments:
44
47
  - 0
45
48
  - 0
@@ -55,6 +58,7 @@ dependencies:
55
58
  requirements:
56
59
  - - ">="
57
60
  - !ruby/object:Gem::Version
61
+ hash: 29
58
62
  segments:
59
63
  - 0
60
64
  - 0
@@ -93,6 +97,7 @@ files:
93
97
  - lib/generators/tabulatr/install_generator.rb
94
98
  - lib/initializers/action_view.rb
95
99
  - lib/initializers/active_record.rb
100
+ - lib/initializers/define_singleton_method.rb
96
101
  - lib/initializers/mark_as_localizable.rb
97
102
  - lib/initializers/mongoid.rb
98
103
  - lib/tabulatr.rb
@@ -197,6 +202,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
197
202
  requirements:
198
203
  - - ">="
199
204
  - !ruby/object:Gem::Version
205
+ hash: 3
200
206
  segments:
201
207
  - 0
202
208
  version: "0"
@@ -205,13 +211,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
205
211
  requirements:
206
212
  - - ">="
207
213
  - !ruby/object:Gem::Version
214
+ hash: 3
208
215
  segments:
209
216
  - 0
210
217
  version: "0"
211
218
  requirements: []
212
219
 
213
220
  rubyforge_project: tabulatr
214
- rubygems_version: 1.3.7
221
+ rubygems_version: 1.4.2
215
222
  signing_key:
216
223
  specification_version: 3
217
224
  summary: Tabulatr is a DSL to easily create tables for e.g. admin backends.