spreadsheet_architect 3.0.0 → 3.1.0

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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +25 -12
  4. data/lib/spreadsheet_architect.rb +1 -1
  5. data/lib/spreadsheet_architect/class_methods/xlsx.rb +28 -0
  6. data/lib/spreadsheet_architect/exceptions.rb +20 -14
  7. data/lib/spreadsheet_architect/monkey_patches/axlsx_column_width.rb +3 -0
  8. data/lib/spreadsheet_architect/utils.rb +31 -16
  9. data/lib/spreadsheet_architect/utils/xlsx.rb +26 -0
  10. data/lib/spreadsheet_architect/version.rb +1 -1
  11. data/test/dummy_app/app/models/custom_columns_method_post.rb +29 -0
  12. data/test/dummy_app/log/test.log +42144 -61
  13. data/test/dummy_app/tmp/axlsx-master/integration/alt_xlsx.xlsx +0 -0
  14. data/test/dummy_app/tmp/axlsx-master/integration/ods.ods +0 -0
  15. data/test/dummy_app/tmp/axlsx-master/integration/xlsx.xlsx +0 -0
  16. data/test/dummy_app/tmp/axlsx-master/kitchen_sink.ods +0 -0
  17. data/test/dummy_app/tmp/axlsx-master/kitchen_sink.xlsx +0 -0
  18. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.csv +1 -1
  19. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.ods +0 -0
  20. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.xlsx +0 -0
  21. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.csv +1 -0
  22. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.ods +0 -0
  23. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.xlsx +0 -0
  24. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.csv +5 -5
  25. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.ods +0 -0
  26. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.xlsx +0 -0
  27. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.csv +3 -0
  28. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.ods +0 -0
  29. data/test/dummy_app/tmp/axlsx-master/models/{SpreadsheetArchitect → CustomColumnsMethodPost}/data.xlsx +0 -0
  30. data/test/dummy_app/tmp/axlsx-master/models/{SpreadsheetArchitect → CustomColumnsMethodPost}/empty.csv +0 -0
  31. data/test/dummy_app/tmp/axlsx-master/models/{SpreadsheetArchitect → CustomColumnsMethodPost}/empty.ods +0 -0
  32. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.xlsx +0 -0
  33. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.csv +6 -0
  34. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.ods +0 -0
  35. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.xlsx +0 -0
  36. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/data.csv +1 -1
  37. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/data.ods +0 -0
  38. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/data.xlsx +0 -0
  39. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.csv +1 -0
  40. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.ods +0 -0
  41. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.xlsx +0 -0
  42. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.csv +5 -5
  43. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.ods +0 -0
  44. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.xlsx +0 -0
  45. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.csv +1 -1
  46. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.ods +0 -0
  47. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.xlsx +0 -0
  48. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/empty.ods +0 -0
  49. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/empty.xlsx +0 -0
  50. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.csv +5 -5
  51. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.ods +0 -0
  52. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.xlsx +0 -0
  53. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.csv +1 -1
  54. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.ods +0 -0
  55. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.xlsx +0 -0
  56. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/empty.ods +0 -0
  57. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/empty.xlsx +0 -0
  58. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.csv +5 -5
  59. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.ods +0 -0
  60. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.xlsx +0 -0
  61. data/test/dummy_app/tmp/axlsx-master/models/Post/data.csv +1 -1
  62. data/test/dummy_app/tmp/axlsx-master/models/Post/data.ods +0 -0
  63. data/test/dummy_app/tmp/axlsx-master/models/Post/data.xlsx +0 -0
  64. data/test/dummy_app/tmp/axlsx-master/models/Post/empty.csv +1 -0
  65. data/test/dummy_app/tmp/axlsx-master/models/Post/empty.ods +0 -0
  66. data/test/dummy_app/tmp/axlsx-master/models/Post/empty.xlsx +0 -0
  67. data/test/dummy_app/tmp/axlsx-master/models/Post/instances.csv +6 -0
  68. data/test/dummy_app/tmp/axlsx-master/models/Post/instances.ods +0 -0
  69. data/test/dummy_app/tmp/axlsx-master/models/Post/instances.xlsx +0 -0
  70. data/test/dummy_app/tmp/axlsx-master/multi_sheet.ods +0 -0
  71. data/test/dummy_app/tmp/axlsx-master/multi_sheet.xlsx +0 -0
  72. data/test/models/all_models_test.rb +23 -18
  73. data/test/test_helper.rb +5 -1
  74. data/test/unit/exceptions_test.rb +22 -7
  75. data/test/unit/kitchen_sink_test.rb +15 -0
  76. data/test/unit/utils_test.rb +2 -2
  77. metadata +28 -14
  78. data/test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/data.csv +0 -3
  79. data/test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/data.ods +0 -0
  80. data/test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/empty.xlsx +0 -0
@@ -1,3 +1,3 @@
1
1
  row1,test1
2
2
  123.456,,123
3
- 123,2018-07-06,2018-07-06 10:57:53 -0700
3
+ 123,2018-08-19,2018-08-19 14:25:09 -0700
@@ -1,6 +1,6 @@
1
1
  Name,Content,Created At
2
- 0,2,2018-07-06 10:57:52 -0700
3
- 1,3,2018-07-06 10:57:52 -0700
4
- 2,4,2018-07-06 10:57:52 -0700
5
- 3,5,2018-07-06 10:57:52 -0700
6
- 4,6,2018-07-06 10:57:52 -0700
2
+ 0,2,2018-08-19 14:25:08 -0700
3
+ 1,3,2018-08-19 14:25:08 -0700
4
+ 2,4,2018-08-19 14:25:08 -0700
5
+ 3,5,2018-08-19 14:25:08 -0700
6
+ 4,6,2018-08-19 14:25:08 -0700
@@ -0,0 +1,3 @@
1
+ row1,test1
2
+ 123.456,,123
3
+ 123,2018-08-19,2018-08-19 14:25:09 -0700
@@ -0,0 +1,6 @@
1
+ Name,The Content,Created At,Created At Date,asd
2
+ 0,2,2018-08-19 21:25:08 UTC,2018-08-19,tadaaa
3
+ 1,3,2018-08-19 21:25:08 UTC,2018-08-19,tadaaa
4
+ 2,4,2018-08-19 21:25:08 UTC,2018-08-19,tadaaa
5
+ 3,5,2018-08-19 21:25:08 UTC,2018-08-19,tadaaa
6
+ 4,6,2018-08-19 21:25:08 UTC,2018-08-19,tadaaa
@@ -1,3 +1,3 @@
1
1
  row1,test1
2
2
  123.456,,123
3
- 123,2018-07-06,2018-07-06 10:57:53 -0700
3
+ 123,2018-08-19,2018-08-19 14:25:09 -0700
@@ -1,6 +1,6 @@
1
1
  Name,The Content,Created At,Created At Date,asd
2
- 0,2,2018-07-06 17:57:52 UTC,2018-07-06,tadaaa
3
- 1,3,2018-07-06 17:57:52 UTC,2018-07-06,tadaaa
4
- 2,4,2018-07-06 17:57:52 UTC,2018-07-06,tadaaa
5
- 3,5,2018-07-06 17:57:52 UTC,2018-07-06,tadaaa
6
- 4,6,2018-07-06 17:57:52 UTC,2018-07-06,tadaaa
2
+ 0,2,2018-08-19 21:25:08 UTC,2018-08-19,tadaaa
3
+ 1,3,2018-08-19 21:25:08 UTC,2018-08-19,tadaaa
4
+ 2,4,2018-08-19 21:25:08 UTC,2018-08-19,tadaaa
5
+ 3,5,2018-08-19 21:25:08 UTC,2018-08-19,tadaaa
6
+ 4,6,2018-08-19 21:25:08 UTC,2018-08-19,tadaaa
@@ -1,3 +1,3 @@
1
1
  row1,test1
2
2
  123.456,,123
3
- 123,2018-07-06,2018-07-06 10:57:53 -0700
3
+ 123,2018-08-19,2018-08-19 14:25:09 -0700
@@ -1,6 +1,6 @@
1
1
  Name,Content,Object ID
2
- 0,2,70145457610500
3
- 1,3,70145457610460
4
- 2,4,70145457610380
5
- 3,5,70145457610280
6
- 4,6,70145457610240
2
+ 0,2,70214747733820
3
+ 1,3,70214747733780
4
+ 2,4,70214747733740
5
+ 3,5,70214747733700
6
+ 4,6,70214747733660
@@ -1,3 +1,3 @@
1
1
  row1,test1
2
2
  123.456,,123
3
- 123,2018-07-06,2018-07-06 10:57:53 -0700
3
+ 123,2018-08-19,2018-08-19 14:25:09 -0700
@@ -1,6 +1,6 @@
1
1
  Name,Content,Object ID
2
- 0,2,70145444278840
3
- 1,3,70145444278800
4
- 2,4,70145444278760
5
- 3,5,70145444278720
6
- 4,6,70145444278680
2
+ 0,2,70214747728140
3
+ 1,3,70214747728080
4
+ 2,4,70214747728020
5
+ 3,5,70214747727980
6
+ 4,6,70214747727940
@@ -1,3 +1,3 @@
1
1
  row1,test1
2
2
  123.456,,123
3
- 123,2018-07-06,2018-07-06 10:57:53 -0700
3
+ 123,2018-08-19,2018-08-19 14:25:09 -0700
@@ -0,0 +1 @@
1
+ Id,Name,Content,Age,Created At,Updated At
@@ -0,0 +1,6 @@
1
+ Id,Name,Content,Age,Created At,Updated At
2
+ ,0,2,,2018-08-19 14:25:08 -0700,
3
+ ,1,3,,2018-08-19 14:25:08 -0700,
4
+ ,2,4,,2018-08-19 14:25:08 -0700,
5
+ ,3,5,,2018-08-19 14:25:08 -0700,
6
+ ,4,6,,2018-08-19 14:25:08 -0700,
@@ -18,7 +18,15 @@ class AllModelsTest < ActiveSupport::TestCase
18
18
  FileUtils.mkdir_p(@path)
19
19
  end
20
20
 
21
- models = [SpreadsheetArchitect, ActiveModelObject, PlainRubyObject, LegacyPlainRubyObject, Post, CustomPost]
21
+ models = []
22
+
23
+ models_folder = File.expand_path('../../dummy_app/app/models', __FILE__)
24
+ Dir[File.join(models_folder, '*.rb')].each do |filename|
25
+ klass = filename.split('/').last.gsub('.rb', '').titleize.gsub(' ','').constantize
26
+ unless [ApplicationRecord].include?(klass)
27
+ models.push(klass)
28
+ end
29
+ end
22
30
 
23
31
  models.each do |klass|
24
32
  instances = 5.times.map{|i|
@@ -31,30 +39,27 @@ class AllModelsTest < ActiveSupport::TestCase
31
39
 
32
40
  ['csv', 'ods', 'xlsx'].each do |format|
33
41
 
34
- if klass.instance_methods.include?(:spreadsheet_columns) || klass.instance_methods.include?(:column_names)
35
-
36
- test ":instances #{klass} #{format}" do
37
- set_path(klass)
42
+ test ":instances #{klass} #{format}" do
43
+ set_path(klass)
38
44
 
39
- method = "to_#{format}"
40
- which = klass.respond_to?(method) ? klass : SpreadsheetArchitect
45
+ method = "to_#{format}"
46
+ which = klass.respond_to?(method) ? klass : SpreadsheetArchitect
41
47
 
42
- data = which.send(method, instances: instances)
48
+ data = which.send(method, instances: instances)
43
49
 
44
- File.open(File.join(@path, "instances.#{format}"), 'w+b') do |f|
45
- f.write data
46
- end
50
+ File.open(File.join(@path, "instances.#{format}"), 'w+b') do |f|
51
+ f.write data
47
52
  end
53
+ end
48
54
 
49
- test "Empty :instances #{klass} #{format}" do
50
- set_path(klass)
55
+ test "Empty :instances #{klass} #{format}" do
56
+ set_path(klass)
51
57
 
52
- method = "to_#{format}"
53
- which = klass.respond_to?(method) ? klass : SpreadsheetArchitect
58
+ method = "to_#{format}"
59
+ which = klass.respond_to?(method) ? klass : SpreadsheetArchitect
54
60
 
55
- File.open(File.join(@path, "empty.#{format}"),'w+b') do |f|
56
- f.write which.send(method, instances: [])
57
- end
61
+ File.open(File.join(@path, "empty.#{format}"),'w+b') do |f|
62
+ f.write which.send(method, instances: [])
58
63
  end
59
64
  end
60
65
 
data/test/test_helper.rb CHANGED
@@ -19,7 +19,11 @@ class ActiveSupport::TestCase
19
19
  end
20
20
 
21
21
  require 'minitest/reporters'
22
- Minitest::Reporters.use!
22
+ Minitest::Reporters.use!(
23
+ Minitest::Reporters::DefaultReporter.new,
24
+ ENV,
25
+ Minitest.backtrace_filter
26
+ )
23
27
 
24
28
  require 'custom_assertions'
25
29
 
@@ -2,6 +2,25 @@ require 'test_helper'
2
2
 
3
3
  class ExceptionsTest < ActiveSupport::TestCase
4
4
 
5
+ test "ArgumentError" do
6
+ error = SpreadsheetArchitect::Exceptions::ArgumentError
7
+
8
+ assert_raise error do
9
+ conditional_row_styles = [{}]
10
+ SpreadsheetArchitect::Utils::XLSX.conditional_styles_for_row(conditional_row_styles, true, true)
11
+ end
12
+
13
+ assert_raise error do
14
+ conditional_row_styles = [{if: true, unless: true, styles: {}}]
15
+ SpreadsheetArchitect::Utils::XLSX.conditional_styles_for_row(conditional_row_styles, true, true)
16
+ end
17
+
18
+ assert_raise error do
19
+ conditional_row_styles = [{if: true, styles: false}]
20
+ SpreadsheetArchitect::Utils::XLSX.conditional_styles_for_row(conditional_row_styles, true, true)
21
+ end
22
+ end
23
+
5
24
  test "NoDataError" do
6
25
  error = SpreadsheetArchitect::Exceptions::NoDataError
7
26
 
@@ -22,16 +41,12 @@ class ExceptionsTest < ActiveSupport::TestCase
22
41
  end
23
42
  end
24
43
 
25
- test "InvalidTypeError" do
26
- error = SpreadsheetArchitect::Exceptions::InvalidTypeError
44
+ test "OptionTypeError" do
45
+ error = SpreadsheetArchitect::Exceptions::OptionTypeError
27
46
 
28
47
  assert error.new(:foobar_option).message
29
-
30
- assert_raise error do
31
- SpreadsheetArchitect.to_csv(spreadsheet_columns: :foo)
32
- end
33
48
  assert_raise error do
34
- SpreadsheetArchitect.to_csv(data: :foo)
49
+ SpreadsheetArchitect.to_csv(data: {})
35
50
  end
36
51
  assert_raise error do
37
52
  SpreadsheetArchitect.to_csv(instances: :foo)
@@ -33,6 +33,21 @@ class KitchenSinkTest < ActiveSupport::TestCase
33
33
  {range: {rows: :all, columns: (3..4)}, styles: {color: "999999"}}
34
34
  ],
35
35
 
36
+ conditional_row_styles: [
37
+ {
38
+ if: Proc.new{|row_data, row_index|
39
+ row_index == 0 || row_data[0].to_i == 2
40
+ },
41
+ styles: {font_size: 18}
42
+ },
43
+ {
44
+ unless: Proc.new{|row_data, row_index|
45
+ row_index <= 10 || row_data[0].to_i == 15
46
+ },
47
+ styles: {align: :right}
48
+ },
49
+ ],
50
+
36
51
  borders: [
37
52
  {range: "B2:C4"},
38
53
  {range: "D6:D7", border_styles: {style: :dashDot, color: "333333"}},
@@ -139,7 +139,7 @@ class UtilsTest < ActiveSupport::TestCase
139
139
 
140
140
  klass.check_option_type(@options, :foo, Array)
141
141
 
142
- assert_raise SpreadsheetArchitect::Exceptions::InvalidTypeError do
142
+ assert_raise SpreadsheetArchitect::Exceptions::OptionTypeError do
143
143
  klass.check_option_type({foo: :bar}, :foo, Array)
144
144
  end
145
145
  end
@@ -147,7 +147,7 @@ class UtilsTest < ActiveSupport::TestCase
147
147
  test "verify_option_types" do
148
148
  klass.verify_option_types(@options)
149
149
 
150
- assert_raise SpreadsheetArchitect::Exceptions::InvalidTypeError do
150
+ assert_raise SpreadsheetArchitect::Exceptions::OptionTypeError do
151
151
  klass.verify_option_types(@options.merge({column_widths: :foobar}))
152
152
  end
153
153
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spreadsheet_architect
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weston Ganger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-06 00:00:00.000000000 Z
11
+ date: 2018-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: axlsx
@@ -199,6 +199,7 @@ files:
199
199
  - test/dummy_app/app/controllers/spreadsheets_controller.rb
200
200
  - test/dummy_app/app/models/active_model_object.rb
201
201
  - test/dummy_app/app/models/application_record.rb
202
+ - test/dummy_app/app/models/custom_columns_method_post.rb
202
203
  - test/dummy_app/app/models/custom_post.rb
203
204
  - test/dummy_app/app/models/legacy_plain_ruby_object.rb
204
205
  - test/dummy_app/app/models/plain_ruby_object.rb
@@ -353,6 +354,15 @@ files:
353
354
  - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.csv
354
355
  - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.ods
355
356
  - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.xlsx
357
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.csv
358
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.ods
359
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.xlsx
360
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.csv
361
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.ods
362
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.xlsx
363
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.csv
364
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.ods
365
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.xlsx
356
366
  - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.csv
357
367
  - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.ods
358
368
  - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.xlsx
@@ -386,12 +396,9 @@ files:
386
396
  - test/dummy_app/tmp/axlsx-master/models/Post/empty.csv
387
397
  - test/dummy_app/tmp/axlsx-master/models/Post/empty.ods
388
398
  - test/dummy_app/tmp/axlsx-master/models/Post/empty.xlsx
389
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/data.csv
390
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/data.ods
391
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/data.xlsx
392
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/empty.csv
393
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/empty.ods
394
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/empty.xlsx
399
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.csv
400
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.ods
401
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.xlsx
395
402
  - test/dummy_app/tmp/axlsx-master/multi_sheet.ods
396
403
  - test/dummy_app/tmp/axlsx-master/multi_sheet.xlsx
397
404
  - test/integration/application_test.rb
@@ -437,6 +444,7 @@ test_files:
437
444
  - test/dummy_app/app/controllers/spreadsheets_controller.rb
438
445
  - test/dummy_app/app/models/active_model_object.rb
439
446
  - test/dummy_app/app/models/application_record.rb
447
+ - test/dummy_app/app/models/custom_columns_method_post.rb
440
448
  - test/dummy_app/app/models/custom_post.rb
441
449
  - test/dummy_app/app/models/legacy_plain_ruby_object.rb
442
450
  - test/dummy_app/app/models/plain_ruby_object.rb
@@ -592,6 +600,15 @@ test_files:
592
600
  - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.csv
593
601
  - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.ods
594
602
  - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.xlsx
603
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.csv
604
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.ods
605
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.xlsx
606
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.csv
607
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.ods
608
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.xlsx
609
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.csv
610
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.ods
611
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.xlsx
595
612
  - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.csv
596
613
  - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.ods
597
614
  - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.xlsx
@@ -625,12 +642,9 @@ test_files:
625
642
  - test/dummy_app/tmp/axlsx-master/models/Post/empty.csv
626
643
  - test/dummy_app/tmp/axlsx-master/models/Post/empty.ods
627
644
  - test/dummy_app/tmp/axlsx-master/models/Post/empty.xlsx
628
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/data.csv
629
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/data.ods
630
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/data.xlsx
631
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/empty.csv
632
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/empty.ods
633
- - test/dummy_app/tmp/axlsx-master/models/SpreadsheetArchitect/empty.xlsx
645
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.csv
646
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.ods
647
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.xlsx
634
648
  - test/dummy_app/tmp/axlsx-master/multi_sheet.ods
635
649
  - test/dummy_app/tmp/axlsx-master/multi_sheet.xlsx
636
650
  - test/integration/application_test.rb