spreadsheet_architect 3.2.1 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +3 -3
  4. data/lib/spreadsheet_architect.rb +5 -0
  5. data/lib/spreadsheet_architect/class_methods/ods.rb +8 -9
  6. data/lib/spreadsheet_architect/class_methods/xlsx.rb +8 -0
  7. data/lib/spreadsheet_architect/utils.rb +2 -1
  8. data/lib/spreadsheet_architect/version.rb +1 -1
  9. data/test/dummy_app/app/assets/config/manifest.js +3 -0
  10. data/test/dummy_app/config/application.rb +1 -1
  11. data/test/dummy_app/db/test.sqlite3 +0 -0
  12. data/test/dummy_app/log/test.log +8436 -26639
  13. data/test/dummy_app/tmp/3.0.0.pre/integration/alt_xlsx.xlsx +0 -0
  14. data/test/dummy_app/tmp/3.0.0.pre/integration/csv.csv +6 -0
  15. data/test/dummy_app/tmp/3.0.0.pre/integration/ods.ods +0 -0
  16. data/test/dummy_app/tmp/3.0.0.pre/integration/xlsx.xlsx +0 -0
  17. data/test/dummy_app/tmp/3.0.0.pre/kitchen_sink.ods +0 -0
  18. data/test/dummy_app/tmp/3.0.0.pre/kitchen_sink.xlsx +0 -0
  19. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.csv +3 -0
  20. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.ods +0 -0
  21. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.xlsx +0 -0
  22. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.csv +1 -0
  23. data/test/dummy_app/tmp/{configurations/Post → 3.0.0.pre/models/ActiveModelObject}/empty.ods +0 -0
  24. data/test/dummy_app/tmp/{configurations → 3.0.0.pre/models}/ActiveModelObject/empty.xlsx +0 -0
  25. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.csv +6 -0
  26. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.ods +0 -0
  27. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.xlsx +0 -0
  28. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.csv +3 -0
  29. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.ods +0 -0
  30. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.xlsx +0 -0
  31. data/test/dummy_app/tmp/{configurations/ActiveModelObject → 3.0.0.pre/models/CustomColumnsMethodPost}/empty.csv +0 -0
  32. data/test/dummy_app/tmp/{configurations/SpreadsheetArchitect → 3.0.0.pre/models/CustomColumnsMethodPost}/empty.ods +0 -0
  33. data/test/dummy_app/tmp/{configurations/CustomPost → 3.0.0.pre/models/CustomColumnsMethodPost}/empty.xlsx +0 -0
  34. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.csv +6 -0
  35. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.ods +0 -0
  36. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.xlsx +0 -0
  37. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.csv +3 -0
  38. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.ods +0 -0
  39. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.xlsx +0 -0
  40. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.csv +1 -0
  41. data/test/dummy_app/tmp/{configurations/ActiveModelObject → 3.0.0.pre/models/CustomPost}/empty.ods +0 -0
  42. data/test/dummy_app/tmp/{configurations/LegacyPlainRubyObject → 3.0.0.pre/models/CustomPost}/empty.xlsx +0 -0
  43. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.csv +6 -0
  44. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.ods +0 -0
  45. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.xlsx +0 -0
  46. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.csv +3 -0
  47. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.ods +0 -0
  48. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.xlsx +0 -0
  49. data/test/dummy_app/tmp/{configurations/CustomPost → 3.0.0.pre/models/LegacyPlainRubyObject}/empty.csv +0 -0
  50. data/test/dummy_app/tmp/{configurations → 3.0.0.pre/models}/LegacyPlainRubyObject/empty.ods +0 -0
  51. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.xlsx +0 -0
  52. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.csv +6 -0
  53. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.ods +0 -0
  54. data/test/dummy_app/tmp/{configurations → 3.0.0.pre/models}/LegacyPlainRubyObject/instances.xlsx +0 -0
  55. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.csv +3 -0
  56. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.ods +0 -0
  57. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.xlsx +0 -0
  58. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.csv +1 -0
  59. data/test/dummy_app/tmp/{configurations/CustomPost → 3.0.0.pre/models/PlainRubyObject}/empty.ods +0 -0
  60. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.xlsx +0 -0
  61. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.csv +6 -0
  62. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.ods +0 -0
  63. data/test/dummy_app/tmp/{configurations → 3.0.0.pre/models}/PlainRubyObject/instances.xlsx +0 -0
  64. data/test/dummy_app/tmp/3.0.0.pre/models/Post/data.csv +3 -0
  65. data/test/dummy_app/tmp/3.0.0.pre/models/Post/data.ods +0 -0
  66. data/test/dummy_app/tmp/3.0.0.pre/models/Post/data.xlsx +0 -0
  67. data/test/dummy_app/tmp/{configurations/LegacyPlainRubyObject → 3.0.0.pre/models/Post}/empty.csv +0 -0
  68. data/test/dummy_app/tmp/{configurations/PlainRubyObject → 3.0.0.pre/models/Post}/empty.ods +0 -0
  69. data/test/dummy_app/tmp/3.0.0.pre/models/Post/empty.xlsx +0 -0
  70. data/test/dummy_app/tmp/3.0.0.pre/models/Post/instances.csv +6 -0
  71. data/test/dummy_app/tmp/3.0.0.pre/models/Post/instances.ods +0 -0
  72. data/test/dummy_app/tmp/3.0.0.pre/models/Post/instances.xlsx +0 -0
  73. data/test/dummy_app/tmp/3.0.0.pre/multi_sheet.ods +0 -0
  74. data/test/dummy_app/tmp/3.0.0.pre/multi_sheet.xlsx +0 -0
  75. data/test/test_helper.rb +4 -2
  76. data/test/unit/kitchen_sink_test.rb +8 -3
  77. data/test/unit/regressions_test.rb +11 -0
  78. metadata +156 -143
  79. data/test/dummy_app/log/development.log +0 -28
  80. data/test/dummy_app/tmp/configurations/ActiveModelObject/data.csv +0 -3
  81. data/test/dummy_app/tmp/configurations/ActiveModelObject/data.ods +0 -0
  82. data/test/dummy_app/tmp/configurations/ActiveModelObject/data.xlsx +0 -0
  83. data/test/dummy_app/tmp/configurations/ActiveModelObject/instances.csv +0 -6
  84. data/test/dummy_app/tmp/configurations/ActiveModelObject/instances.ods +0 -0
  85. data/test/dummy_app/tmp/configurations/ActiveModelObject/instances.xlsx +0 -0
  86. data/test/dummy_app/tmp/configurations/CustomPost/data.csv +0 -3
  87. data/test/dummy_app/tmp/configurations/CustomPost/data.ods +0 -0
  88. data/test/dummy_app/tmp/configurations/CustomPost/data.xlsx +0 -0
  89. data/test/dummy_app/tmp/configurations/CustomPost/instances.csv +0 -6
  90. data/test/dummy_app/tmp/configurations/CustomPost/instances.ods +0 -0
  91. data/test/dummy_app/tmp/configurations/CustomPost/instances.xlsx +0 -0
  92. data/test/dummy_app/tmp/configurations/LegacyPlainRubyObject/data.csv +0 -3
  93. data/test/dummy_app/tmp/configurations/LegacyPlainRubyObject/data.ods +0 -0
  94. data/test/dummy_app/tmp/configurations/LegacyPlainRubyObject/data.xlsx +0 -0
  95. data/test/dummy_app/tmp/configurations/LegacyPlainRubyObject/instances.csv +0 -6
  96. data/test/dummy_app/tmp/configurations/LegacyPlainRubyObject/instances.ods +0 -0
  97. data/test/dummy_app/tmp/configurations/PlainRubyObject/data.csv +0 -3
  98. data/test/dummy_app/tmp/configurations/PlainRubyObject/data.ods +0 -0
  99. data/test/dummy_app/tmp/configurations/PlainRubyObject/data.xlsx +0 -0
  100. data/test/dummy_app/tmp/configurations/PlainRubyObject/empty.csv +0 -0
  101. data/test/dummy_app/tmp/configurations/PlainRubyObject/empty.xlsx +0 -0
  102. data/test/dummy_app/tmp/configurations/PlainRubyObject/instances.csv +0 -6
  103. data/test/dummy_app/tmp/configurations/PlainRubyObject/instances.ods +0 -0
  104. data/test/dummy_app/tmp/configurations/Post/data.csv +0 -3
  105. data/test/dummy_app/tmp/configurations/Post/data.ods +0 -0
  106. data/test/dummy_app/tmp/configurations/Post/data.xlsx +0 -0
  107. data/test/dummy_app/tmp/configurations/Post/empty.csv +0 -0
  108. data/test/dummy_app/tmp/configurations/Post/empty.xlsx +0 -0
  109. data/test/dummy_app/tmp/configurations/SpreadsheetArchitect/data.csv +0 -3
  110. data/test/dummy_app/tmp/configurations/SpreadsheetArchitect/data.ods +0 -0
  111. data/test/dummy_app/tmp/configurations/SpreadsheetArchitect/data.xlsx +0 -0
  112. data/test/dummy_app/tmp/configurations/SpreadsheetArchitect/empty.csv +0 -0
  113. data/test/dummy_app/tmp/configurations/SpreadsheetArchitect/empty.xlsx +0 -0
  114. data/test/dummy_app/tmp/integration_tests/alt_xlsx.xlsx +0 -0
  115. data/test/dummy_app/tmp/integration_tests/csv.csv +0 -6
  116. data/test/dummy_app/tmp/integration_tests/ods.ods +0 -0
  117. data/test/dummy_app/tmp/integration_tests/xlsx.xlsx +0 -0
  118. data/test/dummy_app/tmp/kitchen_sink.ods +0 -0
  119. data/test/dummy_app/tmp/kitchen_sink.xlsx +0 -0
  120. data/test/dummy_app/tmp/multi_sheet.ods +0 -0
  121. data/test/dummy_app/tmp/multi_sheet.xlsx +0 -0
@@ -0,0 +1,6 @@
1
+ Id,Name,Content,Age,Created At,Updated At
2
+ 1,,,0,,2019-11-27 17:21:37 UTC
3
+ 2,,,1,,2019-11-27 17:21:37 UTC
4
+ 3,,,2,,2019-11-27 17:21:37 UTC
5
+ 4,,,3,,2019-11-27 17:21:37 UTC
6
+ 5,,,4,,2019-11-27 17:21:37 UTC
@@ -0,0 +1,3 @@
1
+ row1,test1
2
+ 123.456,,123
3
+ 123,2019-11-27,2019-11-27 09:52:43 -0800
@@ -0,0 +1,6 @@
1
+ Name,Content,Created At
2
+ 0,2,2019-11-27 09:52:42 -0800
3
+ 1,3,2019-11-27 09:52:42 -0800
4
+ 2,4,2019-11-27 09:52:42 -0800
5
+ 3,5,2019-11-27 09:52:42 -0800
6
+ 4,6,2019-11-27 09:52:42 -0800
@@ -0,0 +1,3 @@
1
+ row1,test1
2
+ 123.456,,123
3
+ 123,2019-11-27,2019-11-27 09:52:43 -0800
@@ -0,0 +1,6 @@
1
+ Name,The Content,Created At,Created At Date,asd
2
+ 0,2,2019-11-27 17:52:42 UTC,2019-11-27,tadaaa
3
+ 1,3,2019-11-27 17:52:42 UTC,2019-11-27,tadaaa
4
+ 2,4,2019-11-27 17:52:42 UTC,2019-11-27,tadaaa
5
+ 3,5,2019-11-27 17:52:42 UTC,2019-11-27,tadaaa
6
+ 4,6,2019-11-27 17:52:42 UTC,2019-11-27,tadaaa
@@ -0,0 +1,3 @@
1
+ row1,test1
2
+ 123.456,,123
3
+ 123,2019-11-27,2019-11-27 09:52:43 -0800
@@ -0,0 +1,6 @@
1
+ Name,The Content,Created At,Created At Date,asd
2
+ 0,2,2019-11-27 17:52:42 UTC,2019-11-27,tadaaa
3
+ 1,3,2019-11-27 17:52:42 UTC,2019-11-27,tadaaa
4
+ 2,4,2019-11-27 17:52:42 UTC,2019-11-27,tadaaa
5
+ 3,5,2019-11-27 17:52:42 UTC,2019-11-27,tadaaa
6
+ 4,6,2019-11-27 17:52:42 UTC,2019-11-27,tadaaa
@@ -0,0 +1,3 @@
1
+ row1,test1
2
+ 123.456,,123
3
+ 123,2019-11-27,2019-11-27 09:52:43 -0800
@@ -0,0 +1,6 @@
1
+ Name,Content,Object ID
2
+ 0,2,47100396508880
3
+ 1,3,47100396508840
4
+ 2,4,47100396508800
5
+ 3,5,47100396508760
6
+ 4,6,47100396508700
@@ -0,0 +1,3 @@
1
+ row1,test1
2
+ 123.456,,123
3
+ 123,2019-11-27,2019-11-27 09:52:43 -0800
@@ -0,0 +1,6 @@
1
+ Name,Content,Object ID
2
+ 0,2,47100396538300
3
+ 1,3,47100396538260
4
+ 2,4,47100396538220
5
+ 3,5,47100396538080
6
+ 4,6,47100396537920
@@ -0,0 +1,3 @@
1
+ row1,test1
2
+ 123.456,,123
3
+ 123,2019-11-27,2019-11-27 09:52:43 -0800
@@ -0,0 +1,6 @@
1
+ Id,Name,Content,Age,Created At,Updated At
2
+ ,0,2,,2019-11-27 09:52:42 -0800,
3
+ ,1,3,,2019-11-27 09:52:42 -0800,
4
+ ,2,4,,2019-11-27 09:52:42 -0800,
5
+ ,3,5,,2019-11-27 09:52:42 -0800,
6
+ ,4,6,,2019-11-27 09:52:42 -0800,
data/test/test_helper.rb CHANGED
@@ -3,7 +3,9 @@ ENV["RAILS_ENV"] = "test"
3
3
  require File.expand_path("../dummy_app/config/environment.rb", __FILE__)
4
4
 
5
5
  migration_path = Rails.root.join('db/migrate')
6
- if ActiveRecord.gem_version >= ::Gem::Version.new("5.2.0")
6
+ if ActiveRecord.gem_version >= ::Gem::Version.new("6.0.0")
7
+ ActiveRecord::MigrationContext.new(migration_path, ActiveRecord::SchemaMigration).migrate
8
+ elsif ActiveRecord.gem_version >= ::Gem::Version.new("5.2.0")
7
9
  ActiveRecord::MigrationContext.new(migration_path).migrate
8
10
  else
9
11
  ActiveRecord::Migrator.migrate(migration_path)
@@ -41,7 +43,7 @@ else
41
43
  axlsx_version = axlsx_spec.version.to_s
42
44
  end
43
45
 
44
- VERSIONED_BASE_PATH = Rails.root.join("tmp/#{axlsx_version}")
46
+ VERSIONED_BASE_PATH = Rails.root.join("../../tmp/#{axlsx_version}")
45
47
 
46
48
  ### Cleanup old test spreadsheets
47
49
  FileUtils.remove_dir(VERSIONED_BASE_PATH, true)
@@ -6,7 +6,7 @@ class KitchenSinkTest < ActiveSupport::TestCase
6
6
  @options = {
7
7
  headers: [
8
8
  ['Latest Posts'],
9
- ['Title','Category','Author','Posted on','Earnings']
9
+ ['Title','Category','Author','Posted on','Posted At','Earnings']
10
10
  ],
11
11
  data: 50.times.map{|i| [i, "foobar-#{i}", 5.4*i, true, Date.today, Time.now]},
12
12
  header_style: {background_color: "000000", color: "FFFFFF", align: :center, font_size: 12, bold: true},
@@ -82,11 +82,16 @@ class KitchenSinkTest < ActiveSupport::TestCase
82
82
 
83
83
  def test_ods
84
84
  @options.merge!({
85
+ headers: [
86
+ ['Latest Posts'],
87
+ ['Title','Category','Author','Boolean','Posted on','Posted At']
88
+ ],
89
+ data: 50.times.map{|i| [i, "foobar-#{i}", (5.4*i), true, Date.today, Time.now]},
85
90
  column_types: [
86
91
  :string,
87
92
  :float,
88
- :percent,
89
- :currency,
93
+ :float,
94
+ :boolean,
90
95
  :date,
91
96
  :time,
92
97
  nil
@@ -0,0 +1,11 @@
1
+ require 'test_helper'
2
+
3
+ class RegressionsTest < ActiveSupport::TestCase
4
+
5
+ test "XLSX" do
6
+ end
7
+
8
+ test "ODS" do
9
+ end
10
+
11
+ 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.2.1
4
+ version: 3.3.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: 2019-04-11 00:00:00.000000000 Z
11
+ date: 2019-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: axlsx
@@ -193,6 +193,7 @@ files:
193
193
  - lib/spreadsheet_architect/version.rb
194
194
  - test/custom_assertions.rb
195
195
  - test/dummy_app/Rakefile
196
+ - test/dummy_app/app/assets/config/manifest.js
196
197
  - test/dummy_app/app/assets/javascripts/application.js
197
198
  - test/dummy_app/app/assets/stylesheets/application.css
198
199
  - test/dummy_app/app/controllers/application_controller.rb
@@ -226,64 +227,69 @@ files:
226
227
  - test/dummy_app/db/migrate/20170103234524_add_posts.rb
227
228
  - test/dummy_app/db/schema.rb
228
229
  - test/dummy_app/db/test.sqlite3
229
- - test/dummy_app/log/development.log
230
230
  - test/dummy_app/log/test.log
231
- - test/dummy_app/tmp/configurations/ActiveModelObject/data.csv
232
- - test/dummy_app/tmp/configurations/ActiveModelObject/data.ods
233
- - test/dummy_app/tmp/configurations/ActiveModelObject/data.xlsx
234
- - test/dummy_app/tmp/configurations/ActiveModelObject/empty.csv
235
- - test/dummy_app/tmp/configurations/ActiveModelObject/empty.ods
236
- - test/dummy_app/tmp/configurations/ActiveModelObject/empty.xlsx
237
- - test/dummy_app/tmp/configurations/ActiveModelObject/instances.csv
238
- - test/dummy_app/tmp/configurations/ActiveModelObject/instances.ods
239
- - test/dummy_app/tmp/configurations/ActiveModelObject/instances.xlsx
240
- - test/dummy_app/tmp/configurations/CustomPost/data.csv
241
- - test/dummy_app/tmp/configurations/CustomPost/data.ods
242
- - test/dummy_app/tmp/configurations/CustomPost/data.xlsx
243
- - test/dummy_app/tmp/configurations/CustomPost/empty.csv
244
- - test/dummy_app/tmp/configurations/CustomPost/empty.ods
245
- - test/dummy_app/tmp/configurations/CustomPost/empty.xlsx
246
- - test/dummy_app/tmp/configurations/CustomPost/instances.csv
247
- - test/dummy_app/tmp/configurations/CustomPost/instances.ods
248
- - test/dummy_app/tmp/configurations/CustomPost/instances.xlsx
249
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/data.csv
250
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/data.ods
251
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/data.xlsx
252
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/empty.csv
253
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/empty.ods
254
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/empty.xlsx
255
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/instances.csv
256
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/instances.ods
257
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/instances.xlsx
258
- - test/dummy_app/tmp/configurations/PlainRubyObject/data.csv
259
- - test/dummy_app/tmp/configurations/PlainRubyObject/data.ods
260
- - test/dummy_app/tmp/configurations/PlainRubyObject/data.xlsx
261
- - test/dummy_app/tmp/configurations/PlainRubyObject/empty.csv
262
- - test/dummy_app/tmp/configurations/PlainRubyObject/empty.ods
263
- - test/dummy_app/tmp/configurations/PlainRubyObject/empty.xlsx
264
- - test/dummy_app/tmp/configurations/PlainRubyObject/instances.csv
265
- - test/dummy_app/tmp/configurations/PlainRubyObject/instances.ods
266
- - test/dummy_app/tmp/configurations/PlainRubyObject/instances.xlsx
267
- - test/dummy_app/tmp/configurations/Post/data.csv
268
- - test/dummy_app/tmp/configurations/Post/data.ods
269
- - test/dummy_app/tmp/configurations/Post/data.xlsx
270
- - test/dummy_app/tmp/configurations/Post/empty.csv
271
- - test/dummy_app/tmp/configurations/Post/empty.ods
272
- - test/dummy_app/tmp/configurations/Post/empty.xlsx
273
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/data.csv
274
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/data.ods
275
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/data.xlsx
276
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/empty.csv
277
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/empty.ods
278
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/empty.xlsx
279
- - test/dummy_app/tmp/integration_tests/alt_xlsx.xlsx
280
- - test/dummy_app/tmp/integration_tests/csv.csv
281
- - test/dummy_app/tmp/integration_tests/ods.ods
282
- - test/dummy_app/tmp/integration_tests/xlsx.xlsx
283
- - test/dummy_app/tmp/kitchen_sink.ods
284
- - test/dummy_app/tmp/kitchen_sink.xlsx
285
- - test/dummy_app/tmp/multi_sheet.ods
286
- - test/dummy_app/tmp/multi_sheet.xlsx
231
+ - test/dummy_app/tmp/3.0.0.pre/integration/alt_xlsx.xlsx
232
+ - test/dummy_app/tmp/3.0.0.pre/integration/csv.csv
233
+ - test/dummy_app/tmp/3.0.0.pre/integration/ods.ods
234
+ - test/dummy_app/tmp/3.0.0.pre/integration/xlsx.xlsx
235
+ - test/dummy_app/tmp/3.0.0.pre/kitchen_sink.ods
236
+ - test/dummy_app/tmp/3.0.0.pre/kitchen_sink.xlsx
237
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.csv
238
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.ods
239
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.xlsx
240
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.csv
241
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.ods
242
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.xlsx
243
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.csv
244
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.ods
245
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.xlsx
246
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.csv
247
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.ods
248
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.xlsx
249
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.csv
250
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.ods
251
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.xlsx
252
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.csv
253
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.ods
254
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.xlsx
255
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.csv
256
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.ods
257
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.xlsx
258
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.csv
259
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.ods
260
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.xlsx
261
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.csv
262
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.ods
263
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.xlsx
264
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.csv
265
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.ods
266
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.xlsx
267
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.csv
268
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.ods
269
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.xlsx
270
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.csv
271
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.ods
272
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.xlsx
273
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.csv
274
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.ods
275
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.xlsx
276
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.csv
277
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.ods
278
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.xlsx
279
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.csv
280
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.ods
281
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.xlsx
282
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/data.csv
283
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/data.ods
284
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/data.xlsx
285
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.csv
286
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.ods
287
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.xlsx
288
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.csv
289
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.ods
290
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.xlsx
291
+ - test/dummy_app/tmp/3.0.0.pre/multi_sheet.ods
292
+ - test/dummy_app/tmp/3.0.0.pre/multi_sheet.xlsx
287
293
  - test/integration/application_test.rb
288
294
  - test/models/all_models_test.rb
289
295
  - test/test_helper.rb
@@ -292,6 +298,7 @@ files:
292
298
  - test/unit/general_test.rb
293
299
  - test/unit/kitchen_sink_test.rb
294
300
  - test/unit/multi_sheet_test.rb
301
+ - test/unit/regressions_test.rb
295
302
  - test/unit/utils_test.rb
296
303
  - test/unit/xlsx_utils_test.rb
297
304
  homepage: https://github.com/westonganger/spreadsheet_architect
@@ -312,114 +319,120 @@ required_rubygems_version: !ruby/object:Gem::Requirement
312
319
  - !ruby/object:Gem::Version
313
320
  version: '0'
314
321
  requirements: []
315
- rubyforge_project:
316
- rubygems_version: 2.7.6
322
+ rubygems_version: 3.0.3
317
323
  signing_key:
318
324
  specification_version: 4
319
325
  summary: Spreadsheet Architect is a library that allows you to create XLSX, ODS, or
320
326
  CSV spreadsheets easily from ActiveRecord relations, Plain Ruby classes, or predefined
321
327
  data.
322
328
  test_files:
323
- - test/test_helper.rb
324
329
  - test/models/all_models_test.rb
330
+ - test/integration/application_test.rb
331
+ - test/test_helper.rb
325
332
  - test/unit/multi_sheet_test.rb
326
- - test/unit/kitchen_sink_test.rb
327
- - test/unit/xlsx_utils_test.rb
333
+ - test/unit/regressions_test.rb
328
334
  - test/unit/formats_test.rb
335
+ - test/unit/kitchen_sink_test.rb
329
336
  - test/unit/utils_test.rb
330
- - test/unit/exceptions_test.rb
331
337
  - test/unit/general_test.rb
332
- - test/integration/application_test.rb
333
- - test/custom_assertions.rb
334
- - test/dummy_app/app/models/custom_post.rb
338
+ - test/unit/xlsx_utils_test.rb
339
+ - test/unit/exceptions_test.rb
340
+ - test/dummy_app/app/models/custom_columns_method_post.rb
341
+ - test/dummy_app/app/models/legacy_plain_ruby_object.rb
335
342
  - test/dummy_app/app/models/plain_ruby_object.rb
336
343
  - test/dummy_app/app/models/application_record.rb
337
344
  - test/dummy_app/app/models/active_model_object.rb
345
+ - test/dummy_app/app/models/custom_post.rb
338
346
  - test/dummy_app/app/models/post.rb
339
- - test/dummy_app/app/models/legacy_plain_ruby_object.rb
340
- - test/dummy_app/app/models/custom_columns_method_post.rb
341
- - test/dummy_app/app/assets/javascripts/application.js
342
- - test/dummy_app/app/assets/stylesheets/application.css
343
347
  - test/dummy_app/app/views/layouts/application.html.erb
348
+ - test/dummy_app/app/assets/stylesheets/application.css
349
+ - test/dummy_app/app/assets/config/manifest.js
350
+ - test/dummy_app/app/assets/javascripts/application.js
344
351
  - test/dummy_app/app/controllers/spreadsheets_controller.rb
345
352
  - test/dummy_app/app/controllers/application_controller.rb
346
- - test/dummy_app/db/schema.rb
347
- - test/dummy_app/db/migrate/20170103234524_add_posts.rb
348
- - test/dummy_app/db/test.sqlite3
349
353
  - test/dummy_app/config.ru
350
- - test/dummy_app/config/locales/en.yml
351
- - test/dummy_app/config/routes.rb
354
+ - test/dummy_app/tmp/3.0.0.pre/kitchen_sink.ods
355
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.ods
356
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.xlsx
357
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.ods
358
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.xlsx
359
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.csv
360
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.xlsx
361
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.ods
362
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.csv
363
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.csv
364
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.ods
365
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.xlsx
366
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.ods
367
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.xlsx
368
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.csv
369
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.xlsx
370
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.ods
371
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.csv
372
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.csv
373
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.ods
374
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/data.xlsx
375
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.ods
376
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.xlsx
377
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.csv
378
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.xlsx
379
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/data.ods
380
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.csv
381
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/data.csv
382
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.ods
383
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.xlsx
384
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.ods
385
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.xlsx
386
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.csv
387
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.xlsx
388
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.ods
389
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.csv
390
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.csv
391
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.ods
392
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.xlsx
393
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.ods
394
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.xlsx
395
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.csv
396
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.xlsx
397
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.ods
398
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.csv
399
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.csv
400
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.ods
401
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.xlsx
402
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.ods
403
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.xlsx
404
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.csv
405
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.xlsx
406
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.ods
407
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.csv
408
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.csv
409
+ - test/dummy_app/tmp/3.0.0.pre/integration/xlsx.xlsx
410
+ - test/dummy_app/tmp/3.0.0.pre/integration/alt_xlsx.xlsx
411
+ - test/dummy_app/tmp/3.0.0.pre/integration/csv.csv
412
+ - test/dummy_app/tmp/3.0.0.pre/integration/ods.ods
413
+ - test/dummy_app/tmp/3.0.0.pre/kitchen_sink.xlsx
414
+ - test/dummy_app/tmp/3.0.0.pre/multi_sheet.ods
415
+ - test/dummy_app/tmp/3.0.0.pre/multi_sheet.xlsx
416
+ - test/dummy_app/log/test.log
352
417
  - test/dummy_app/config/database.yml
418
+ - test/dummy_app/config/environments/production.rb
419
+ - test/dummy_app/config/environments/test.rb
420
+ - test/dummy_app/config/environments/development.rb
421
+ - test/dummy_app/config/routes.rb
353
422
  - test/dummy_app/config/environment.rb
423
+ - test/dummy_app/config/locales/en.yml
424
+ - test/dummy_app/config/boot.rb
425
+ - test/dummy_app/config/initializers/secret_token.rb
354
426
  - test/dummy_app/config/initializers/inflections.rb
355
427
  - test/dummy_app/config/initializers/mime_types.rb
356
- - test/dummy_app/config/initializers/backtrace_silencers.rb
357
- - test/dummy_app/config/initializers/spreadsheet_architect.rb
358
428
  - test/dummy_app/config/initializers/session_store.rb
359
- - test/dummy_app/config/initializers/secret_token.rb
360
429
  - test/dummy_app/config/initializers/wrap_parameters.rb
361
- - test/dummy_app/config/boot.rb
362
- - test/dummy_app/config/environments/test.rb
363
- - test/dummy_app/config/environments/production.rb
364
- - test/dummy_app/config/environments/development.rb
365
- - test/dummy_app/config/application.rb
430
+ - test/dummy_app/config/initializers/spreadsheet_architect.rb
431
+ - test/dummy_app/config/initializers/backtrace_silencers.rb
366
432
  - test/dummy_app/config/secrets.yml
367
- - test/dummy_app/tmp/kitchen_sink.ods
368
- - test/dummy_app/tmp/kitchen_sink.xlsx
369
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/data.csv
370
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/empty.xlsx
371
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/empty.ods
372
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/instances.ods
373
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/instances.xlsx
374
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/instances.csv
375
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/empty.csv
376
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/data.xlsx
377
- - test/dummy_app/tmp/configurations/LegacyPlainRubyObject/data.ods
378
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/data.csv
379
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/empty.xlsx
380
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/empty.ods
381
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/empty.csv
382
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/data.xlsx
383
- - test/dummy_app/tmp/configurations/SpreadsheetArchitect/data.ods
384
- - test/dummy_app/tmp/configurations/ActiveModelObject/data.csv
385
- - test/dummy_app/tmp/configurations/ActiveModelObject/empty.xlsx
386
- - test/dummy_app/tmp/configurations/ActiveModelObject/empty.ods
387
- - test/dummy_app/tmp/configurations/ActiveModelObject/instances.ods
388
- - test/dummy_app/tmp/configurations/ActiveModelObject/instances.xlsx
389
- - test/dummy_app/tmp/configurations/ActiveModelObject/instances.csv
390
- - test/dummy_app/tmp/configurations/ActiveModelObject/empty.csv
391
- - test/dummy_app/tmp/configurations/ActiveModelObject/data.xlsx
392
- - test/dummy_app/tmp/configurations/ActiveModelObject/data.ods
393
- - test/dummy_app/tmp/configurations/Post/data.csv
394
- - test/dummy_app/tmp/configurations/Post/empty.xlsx
395
- - test/dummy_app/tmp/configurations/Post/empty.ods
396
- - test/dummy_app/tmp/configurations/Post/empty.csv
397
- - test/dummy_app/tmp/configurations/Post/data.xlsx
398
- - test/dummy_app/tmp/configurations/Post/data.ods
399
- - test/dummy_app/tmp/configurations/PlainRubyObject/data.csv
400
- - test/dummy_app/tmp/configurations/PlainRubyObject/empty.xlsx
401
- - test/dummy_app/tmp/configurations/PlainRubyObject/empty.ods
402
- - test/dummy_app/tmp/configurations/PlainRubyObject/instances.ods
403
- - test/dummy_app/tmp/configurations/PlainRubyObject/instances.xlsx
404
- - test/dummy_app/tmp/configurations/PlainRubyObject/instances.csv
405
- - test/dummy_app/tmp/configurations/PlainRubyObject/empty.csv
406
- - test/dummy_app/tmp/configurations/PlainRubyObject/data.xlsx
407
- - test/dummy_app/tmp/configurations/PlainRubyObject/data.ods
408
- - test/dummy_app/tmp/configurations/CustomPost/data.csv
409
- - test/dummy_app/tmp/configurations/CustomPost/empty.xlsx
410
- - test/dummy_app/tmp/configurations/CustomPost/empty.ods
411
- - test/dummy_app/tmp/configurations/CustomPost/instances.ods
412
- - test/dummy_app/tmp/configurations/CustomPost/instances.xlsx
413
- - test/dummy_app/tmp/configurations/CustomPost/instances.csv
414
- - test/dummy_app/tmp/configurations/CustomPost/empty.csv
415
- - test/dummy_app/tmp/configurations/CustomPost/data.xlsx
416
- - test/dummy_app/tmp/configurations/CustomPost/data.ods
417
- - test/dummy_app/tmp/integration_tests/csv.csv
418
- - test/dummy_app/tmp/integration_tests/xlsx.xlsx
419
- - test/dummy_app/tmp/integration_tests/ods.ods
420
- - test/dummy_app/tmp/integration_tests/alt_xlsx.xlsx
421
- - test/dummy_app/tmp/multi_sheet.xlsx
422
- - test/dummy_app/tmp/multi_sheet.ods
433
+ - test/dummy_app/config/application.rb
423
434
  - test/dummy_app/Rakefile
424
- - test/dummy_app/log/development.log
425
- - test/dummy_app/log/test.log
435
+ - test/dummy_app/db/schema.rb
436
+ - test/dummy_app/db/test.sqlite3
437
+ - test/dummy_app/db/migrate/20170103234524_add_posts.rb
438
+ - test/custom_assertions.rb