dining-table 1.1.0 → 1.1.1

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
- SHA1:
3
- metadata.gz: 5624a9625e338420410c971d0d7d14105cddd1a9
4
- data.tar.gz: 55197b3b204db1726e9678761b490e4c26266f67
2
+ SHA256:
3
+ metadata.gz: 86007b91ee4155416dab5a0c477f781a77f294892982eebc9dcc2b08dab90f7d
4
+ data.tar.gz: f7babfb11c2c7e06bb4cdf5a3508ea8450ac529958ff34b427c6a650965d733c
5
5
  SHA512:
6
- metadata.gz: cb6e4942a3224b25c866977ae72a1759e6793d49564848d6ee7a417351a9b92bdf4655757f8589c16ae9388b79bf3c7560cb09f9b268b1d4e75b50807ddf3011
7
- data.tar.gz: 1a3d5ee3346a3d7ee25f30fb28e45a003f3f656f607af4e4ce19c0af713a01fc7fcf70dbd4f4282b6fe3da507840fe706c92cf19e439cc2284115f0b9d7f8b9d
6
+ metadata.gz: 5b0e978e433992578a3faf64dd27d899120a1391ef7b7d1517352867f36c66fb0dc8cfd635aec8491b998bd6954f632a1e1292c732454ff1547dee0b877fd498
7
+ data.tar.gz: 1c0956e9c3dbf7af598d13b5058e2ff5ac5aaf0e06e8f78fb9945c6fd15ec7e1a1013b4863d83a35bcfd49b9b8fbc8ec94934ffd51428adc90e6af770a6a9dea
data/.travis.yml CHANGED
@@ -1,8 +1,8 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.0
4
- - 2.3.0
5
- - jruby-9.1.5.0
3
+ - 2.3.8
4
+ - 2.6.3
5
+ - jruby-9.1.9.0
6
6
  script: bundle exec rake
7
7
  before_install:
8
8
  - gem install bundler
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## 1.1.1 (12/10/2019)
2
+
3
+ * Bugfix - call per-cell configuration block with correct index for footer row
4
+
5
+ ## 1.1.0 (28/11/2018)
6
+
7
+ * Allow passing in class of object to avoid header edge case when the collection is empty
8
+
1
9
  ## 1.0.0 (17/06/2018)
2
10
 
3
11
  * New configuration mechanism for HTML presenter
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  group :development do
4
- gem "bundler", "~> 1.0"
4
+ gem "bundler"
5
5
  gem "juwelier", "~> 2.1.0"
6
6
  end
7
7
 
data/README.md CHANGED
@@ -403,14 +403,14 @@ end
403
403
 
404
404
  ### Excel (xlsx)
405
405
 
406
- The Excel presenter depends on [axlsx](https://github.com/randym/axlsx). Note that `dining-table` doesn't require `axlsx`, you have to add it to
406
+ The Excel presenter depends on [xlsxtream](https://github.com/felixbuenemann/xlsxtream) or [axlsx](https://github.com/randym/axlsx). Note that `dining-table` doesn't require either `xlsxtream` or `axlsx`, you have to add one of them to
407
407
  your Gemfile yourself if you want to use the Excel presenter.
408
408
 
409
- In order to use the Excel presenter, pass it in as a presenter and provide an axlsx worksheet:
409
+ In order to use the Excel presenter, pass it in as a presenter and provide a xlsxtream or axlsx worksheet:
410
410
 
411
411
  ```ruby
412
412
  collection = Car.order(:brand)
413
- # sheet is the axlsx worksheet in which the table will be rendered
413
+ # sheet is the xlsxtream or axlsx worksheet in which the table will be rendered
414
414
  CarTable.new( collection, nil, presenter: DiningTable::Presenters::ExcelPresenter.new( sheet ) ).render
415
415
  ```
416
416
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 1.1.1
data/dining-table.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: dining-table 1.1.0 ruby lib
5
+ # stub: dining-table 1.1.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "dining-table".freeze
9
- s.version = "1.1.0"
9
+ s.version = "1.1.1"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
- s.authors = ["Micha\u{eb}l Van Damme".freeze]
14
- s.date = "2018-11-28"
13
+ s.authors = ["Micha\u00EBl Van Damme".freeze]
14
+ s.date = "2019-10-12"
15
15
  s.description = "Easily output tabular data, be it in HTML, CSV or XLSX. Create clean table classes instead of messing with views to create nice tables.".freeze
16
16
  s.email = "michael.vandamme@vub.ac.be".freeze
17
17
  s.extra_rdoc_files = [
@@ -54,21 +54,21 @@ Gem::Specification.new do |s|
54
54
  ]
55
55
  s.homepage = "http://github.com/mvdamme/dining-table".freeze
56
56
  s.licenses = ["MIT".freeze]
57
- s.rubygems_version = "2.6.11".freeze
57
+ s.rubygems_version = "2.7.6".freeze
58
58
  s.summary = "Create tables easily. Supports html, csv and xlsx.".freeze
59
59
 
60
60
  if s.respond_to? :specification_version then
61
61
  s.specification_version = 4
62
62
 
63
63
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
64
- s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
64
+ s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
65
65
  s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
66
66
  else
67
- s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
67
+ s.add_dependency(%q<bundler>.freeze, [">= 0"])
68
68
  s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
69
69
  end
70
70
  else
71
- s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
71
+ s.add_dependency(%q<bundler>.freeze, [">= 0"])
72
72
  s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
73
73
  end
74
74
  end
@@ -77,7 +77,7 @@ module DiningTable
77
77
  add_tag(:start, :tr, row_options)
78
78
  columns.each_with_index do |column, index|
79
79
  value = footers[index]
80
- configuration = cell_configuration( tags_configuration, column, :header, nil )
80
+ configuration = cell_configuration( tags_configuration, column, :footer, nil )
81
81
  #render_footer_cell( value, column.options_for( identifier ) )
82
82
  render_footer_cell( value, configuration )
83
83
  end
@@ -295,6 +295,17 @@ describe 'HTMLTableSpec' do
295
295
  end
296
296
  end
297
297
  end
298
+ footer = table.elements[3]
299
+ footer.attributes.get_attribute('class').value.must_equal 'my-tfoot-class'
300
+ row = footer.elements.first
301
+ row.attributes.get_attribute('class').value.must_equal 'footer-tr'
302
+ row.elements.each_with_index do |cell, index|
303
+ if index == 0
304
+ cell.attributes.get_attribute('class').value.must_equal 'left' # brand column
305
+ else
306
+ cell.attributes.get_attribute('class').value.must_equal 'footer-td'
307
+ end
308
+ end
298
309
  end
299
310
 
300
311
  def document( html )
@@ -4,6 +4,7 @@ class CarTableWithConfigBlocks < DiningTable::Table
4
4
  presenter.table_config do |config|
5
5
  config.table.class = 'my-table-class'
6
6
  config.thead.class = 'my-thead-class'
7
+ config.tfoot.class = 'my-tfoot-class'
7
8
  end if presenter.type?(:html)
8
9
 
9
10
  presenter.row_config do |config, index, object|
@@ -11,7 +12,8 @@ class CarTableWithConfigBlocks < DiningTable::Table
11
12
  config.tr.class = 'header-tr'
12
13
  config.th.class = 'header-th'
13
14
  elsif index == :footer
14
- config.tr.class = 'header-tr'
15
+ config.tr.class = 'footer-tr'
16
+ config.td.class = 'footer-td'
15
17
  else
16
18
  config.tr.class = index.odd? ? 'odd' : 'even'
17
19
  config.tr.class += ' lowstock' if object.stock < 10
@@ -21,7 +23,7 @@ class CarTableWithConfigBlocks < DiningTable::Table
21
23
  column :brand, :html => { :td => { :class => 'left' } }
22
24
 
23
25
  number_of_doors_options = ->( config, index, object ) do
24
- config.td.class = 'center'
26
+ config.td.class = 'center' unless index == :footer
25
27
  config.td.class += ' five_doors' if object && object.number_of_doors == 5
26
28
  end
27
29
  column :number_of_doors, :footer => 'Total', :html => number_of_doors_options
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dining-table
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michaël Van Damme
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-28 00:00:00.000000000 Z
11
+ date: 2019-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: juwelier
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -99,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
99
  version: '0'
100
100
  requirements: []
101
101
  rubyforge_project:
102
- rubygems_version: 2.6.11
102
+ rubygems_version: 2.7.6
103
103
  signing_key:
104
104
  specification_version: 4
105
105
  summary: Create tables easily. Supports html, csv and xlsx.