spreadsheet_architect 3.2.1 → 3.3.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 (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