diff options
| author | Teddy Wing | 2017-06-14 18:30:45 +0200 |
|---|---|---|
| committer | Teddy Wing | 2017-06-14 18:30:45 +0200 |
| commit | 5fe14f119953f3eaf5a948ea67e9070ba3d3aac0 (patch) | |
| tree | 13700cc322508d0b37266c10faa045f0de2eacec | |
| parent | d2b1ab114348ee0895703cd650734f585b11e781 (diff) | |
| download | chouette-core-5fe14f119953f3eaf5a948ea67e9070ba3d3aac0.tar.bz2 | |
TableBuilderHelper: Move ::Column to its own file
Now that we have other classes that belong to `TableBuilderHelper`
(`URL` and `CustomLinks`), it makes more sense for this one to live in
its own file.
Refs #3479
| -rw-r--r-- | app/helpers/table_builder_helper.rb | 27 | ||||
| -rw-r--r-- | app/helpers/table_builder_helper/column.rb | 27 |
2 files changed, 28 insertions, 26 deletions
diff --git a/app/helpers/table_builder_helper.rb b/app/helpers/table_builder_helper.rb index 361fe1aae..73c994100 100644 --- a/app/helpers/table_builder_helper.rb +++ b/app/helpers/table_builder_helper.rb @@ -1,35 +1,10 @@ +require 'table_builder_helper/column' require 'table_builder_helper/custom_links' require 'table_builder_helper/url' # TODO: Add doc comment about neeeding to make a decorator for your collections # TODO: Document global variables this uses module TableBuilderHelper - class Column - attr_reader :key, :name, :attribute, :sortable - - def initialize(key: nil, name: '', attribute:, sortable: true) - if key.nil? && name.empty? - raise ColumnMustHaveKeyOrNameError - end - - @key = key - @name = name - @attribute = attribute - @sortable = sortable - end - - def value(obj) - if @attribute.is_a?(Proc) - @attribute.call(obj) - else - obj.try(@attribute) - end - end - end - - class ColumnMustHaveKeyOrNameError < StandardError; end - - # TODO: rename this after migration from `table_builder` def table_builder_2( collection, diff --git a/app/helpers/table_builder_helper/column.rb b/app/helpers/table_builder_helper/column.rb new file mode 100644 index 000000000..54e63104d --- /dev/null +++ b/app/helpers/table_builder_helper/column.rb @@ -0,0 +1,27 @@ +module TableBuilderHelper + class Column + attr_reader :key, :name, :attribute, :sortable + + def initialize(key: nil, name: '', attribute:, sortable: true) + if key.nil? && name.empty? + raise ColumnMustHaveKeyOrNameError + end + + @key = key + @name = name + @attribute = attribute + @sortable = sortable + end + + def value(obj) + if @attribute.is_a?(Proc) + @attribute.call(obj) + else + obj.try(@attribute) + end + end + end + + + class ColumnMustHaveKeyOrNameError < StandardError; end +end |
