tabulatr 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.