spreadsheet_architect 4.1.0 → 5.0.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 (219) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +70 -16
  3. data/README.md +22 -25
  4. data/lib/spreadsheet_architect/class_methods/ods.rb +18 -8
  5. data/lib/spreadsheet_architect/class_methods/xlsx.rb +76 -32
  6. data/lib/spreadsheet_architect/exceptions.rb +30 -13
  7. data/lib/spreadsheet_architect/utils/ods.rb +66 -0
  8. data/lib/spreadsheet_architect/utils/xlsx.rb +61 -32
  9. data/lib/spreadsheet_architect/utils.rb +29 -51
  10. data/lib/spreadsheet_architect/version.rb +1 -1
  11. data/lib/spreadsheet_architect.rb +3 -2
  12. data/test/dummy_app/app/controllers/spreadsheets_controller.rb +6 -3
  13. data/test/dummy_app/config/application.rb +4 -12
  14. data/test/dummy_app/config/environments/test.rb +1 -1
  15. data/test/dummy_app/config/routes.rb +1 -1
  16. data/test/dummy_app/db/migrate/20170103234524_add_posts.rb +1 -1
  17. data/test/dummy_app/db/test.sqlite3 +0 -0
  18. data/test/dummy_app/log/test.log +82177 -58559
  19. data/test/dummy_app/tmp/2.0.1/integration/alt_xlsx.xlsx +0 -0
  20. data/test/dummy_app/tmp/2.0.1/integration/csv.csv +6 -0
  21. data/test/dummy_app/tmp/2.0.1/integration/ods.ods +0 -0
  22. data/test/dummy_app/tmp/2.0.1/integration/xlsx.xlsx +0 -0
  23. data/test/dummy_app/tmp/2.0.1/kitchen_sink.ods +0 -0
  24. data/test/dummy_app/tmp/2.0.1/kitchen_sink.xlsx +0 -0
  25. data/test/dummy_app/tmp/2.0.1/models/ActiveModelObject/data.csv +3 -0
  26. data/test/dummy_app/tmp/2.0.1/models/ActiveModelObject/data.ods +0 -0
  27. data/test/dummy_app/tmp/2.0.1/models/ActiveModelObject/data.xlsx +0 -0
  28. data/test/dummy_app/tmp/2.0.1/models/ActiveModelObject/empty.csv +1 -0
  29. data/test/dummy_app/tmp/2.0.1/models/ActiveModelObject/empty.ods +0 -0
  30. data/test/dummy_app/tmp/2.0.1/models/ActiveModelObject/empty.xlsx +0 -0
  31. data/test/dummy_app/tmp/2.0.1/models/ActiveModelObject/instances.csv +6 -0
  32. data/test/dummy_app/tmp/2.0.1/models/ActiveModelObject/instances.ods +0 -0
  33. data/test/dummy_app/tmp/2.0.1/models/ActiveModelObject/instances.xlsx +0 -0
  34. data/test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/data.csv +3 -0
  35. data/test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/data.ods +0 -0
  36. data/test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/data.xlsx +0 -0
  37. data/test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/empty.csv +0 -0
  38. data/test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/empty.ods +0 -0
  39. data/test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/empty.xlsx +0 -0
  40. data/test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/instances.csv +6 -0
  41. data/test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/instances.ods +0 -0
  42. data/test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/instances.xlsx +0 -0
  43. data/test/dummy_app/tmp/2.0.1/models/CustomPost/data.csv +3 -0
  44. data/test/dummy_app/tmp/2.0.1/models/CustomPost/data.ods +0 -0
  45. data/test/dummy_app/tmp/2.0.1/models/CustomPost/data.xlsx +0 -0
  46. data/test/dummy_app/tmp/2.0.1/models/CustomPost/empty.csv +1 -0
  47. data/test/dummy_app/tmp/2.0.1/models/CustomPost/empty.ods +0 -0
  48. data/test/dummy_app/tmp/2.0.1/models/CustomPost/empty.xlsx +0 -0
  49. data/test/dummy_app/tmp/2.0.1/models/CustomPost/instances.csv +6 -0
  50. data/test/dummy_app/tmp/2.0.1/models/CustomPost/instances.ods +0 -0
  51. data/test/dummy_app/tmp/2.0.1/models/CustomPost/instances.xlsx +0 -0
  52. data/test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/data.csv +3 -0
  53. data/test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/data.ods +0 -0
  54. data/test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/data.xlsx +0 -0
  55. data/test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/empty.csv +1 -0
  56. data/test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/empty.ods +0 -0
  57. data/test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/empty.xlsx +0 -0
  58. data/test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/instances.csv +6 -0
  59. data/test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/instances.ods +0 -0
  60. data/test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/instances.xlsx +0 -0
  61. data/test/dummy_app/tmp/2.0.1/models/PlainRubyObject/data.csv +3 -0
  62. data/test/dummy_app/tmp/2.0.1/models/PlainRubyObject/data.ods +0 -0
  63. data/test/dummy_app/tmp/2.0.1/models/PlainRubyObject/data.xlsx +0 -0
  64. data/test/dummy_app/tmp/2.0.1/models/PlainRubyObject/empty.csv +1 -0
  65. data/test/dummy_app/tmp/2.0.1/models/PlainRubyObject/empty.ods +0 -0
  66. data/test/dummy_app/tmp/2.0.1/models/PlainRubyObject/empty.xlsx +0 -0
  67. data/test/dummy_app/tmp/2.0.1/models/PlainRubyObject/instances.csv +6 -0
  68. data/test/dummy_app/tmp/2.0.1/models/PlainRubyObject/instances.ods +0 -0
  69. data/test/dummy_app/tmp/2.0.1/models/PlainRubyObject/instances.xlsx +0 -0
  70. data/test/dummy_app/tmp/2.0.1/models/Post/data.csv +3 -0
  71. data/test/dummy_app/tmp/2.0.1/models/Post/data.ods +0 -0
  72. data/test/dummy_app/tmp/2.0.1/models/Post/data.xlsx +0 -0
  73. data/test/dummy_app/tmp/2.0.1/models/Post/empty.csv +0 -0
  74. data/test/dummy_app/tmp/2.0.1/models/Post/empty.ods +0 -0
  75. data/test/dummy_app/tmp/2.0.1/models/Post/empty.xlsx +0 -0
  76. data/test/dummy_app/tmp/2.0.1/models/Post/instances.csv +6 -0
  77. data/test/dummy_app/tmp/2.0.1/models/Post/instances.ods +0 -0
  78. data/test/dummy_app/tmp/2.0.1/models/Post/instances.xlsx +0 -0
  79. data/test/dummy_app/tmp/2.0.1/multi_sheet.ods +0 -0
  80. data/test/dummy_app/tmp/2.0.1/multi_sheet.xlsx +0 -0
  81. data/test/dummy_app/tmp/3.0.0.pre/integration/alt_xlsx.xlsx +0 -0
  82. data/test/dummy_app/tmp/3.0.0.pre/integration/csv.csv +5 -5
  83. data/test/dummy_app/tmp/3.0.0.pre/integration/ods.ods +0 -0
  84. data/test/dummy_app/tmp/3.0.0.pre/integration/xlsx.xlsx +0 -0
  85. data/test/dummy_app/tmp/3.0.0.pre/kitchen_sink.ods +0 -0
  86. data/test/dummy_app/tmp/3.0.0.pre/kitchen_sink.xlsx +0 -0
  87. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.csv +1 -1
  88. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.ods +0 -0
  89. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.xlsx +0 -0
  90. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.ods +0 -0
  91. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.xlsx +0 -0
  92. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.csv +5 -5
  93. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.ods +0 -0
  94. data/test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.xlsx +0 -0
  95. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.csv +1 -1
  96. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.ods +0 -0
  97. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.xlsx +0 -0
  98. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.ods +0 -0
  99. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.xlsx +0 -0
  100. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.csv +5 -5
  101. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.ods +0 -0
  102. data/test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.xlsx +0 -0
  103. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.csv +1 -1
  104. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.ods +0 -0
  105. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.xlsx +0 -0
  106. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.ods +0 -0
  107. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.xlsx +0 -0
  108. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.csv +5 -5
  109. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.ods +0 -0
  110. data/test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.xlsx +0 -0
  111. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.csv +1 -1
  112. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.ods +0 -0
  113. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.xlsx +0 -0
  114. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.ods +0 -0
  115. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.xlsx +0 -0
  116. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.csv +5 -5
  117. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.ods +0 -0
  118. data/test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.xlsx +0 -0
  119. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.csv +1 -1
  120. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.ods +0 -0
  121. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.xlsx +0 -0
  122. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.csv +0 -1
  123. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.ods +0 -0
  124. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.xlsx +0 -0
  125. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.csv +5 -5
  126. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.ods +0 -0
  127. data/test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.xlsx +0 -0
  128. data/test/dummy_app/tmp/3.0.0.pre/models/Post/data.csv +1 -1
  129. data/test/dummy_app/tmp/3.0.0.pre/models/Post/data.ods +0 -0
  130. data/test/dummy_app/tmp/3.0.0.pre/models/Post/data.xlsx +0 -0
  131. data/test/dummy_app/tmp/3.0.0.pre/models/Post/empty.csv +1 -0
  132. data/test/dummy_app/tmp/3.0.0.pre/models/Post/empty.ods +0 -0
  133. data/test/dummy_app/tmp/3.0.0.pre/models/Post/empty.xlsx +0 -0
  134. data/test/dummy_app/tmp/3.0.0.pre/models/Post/instances.csv +5 -5
  135. data/test/dummy_app/tmp/3.0.0.pre/models/Post/instances.ods +0 -0
  136. data/test/dummy_app/tmp/3.0.0.pre/models/Post/instances.xlsx +0 -0
  137. data/test/dummy_app/tmp/3.0.0.pre/multi_sheet.ods +0 -0
  138. data/test/dummy_app/tmp/3.0.0.pre/multi_sheet.xlsx +0 -0
  139. data/test/dummy_app/tmp/axlsx-master/integration/alt_xlsx.xlsx +0 -0
  140. data/test/dummy_app/tmp/axlsx-master/integration/csv.csv +6 -0
  141. data/test/dummy_app/tmp/axlsx-master/integration/ods.ods +0 -0
  142. data/test/dummy_app/tmp/axlsx-master/integration/xlsx.xlsx +0 -0
  143. data/test/dummy_app/tmp/axlsx-master/kitchen_sink.ods +0 -0
  144. data/test/dummy_app/tmp/axlsx-master/kitchen_sink.xlsx +0 -0
  145. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.csv +4 -0
  146. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.ods +0 -0
  147. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.xlsx +0 -0
  148. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.csv +1 -0
  149. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.ods +0 -0
  150. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.xlsx +0 -0
  151. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.csv +6 -0
  152. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.ods +0 -0
  153. data/test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.xlsx +0 -0
  154. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.csv +4 -0
  155. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.ods +0 -0
  156. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.xlsx +0 -0
  157. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.csv +1 -0
  158. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.ods +0 -0
  159. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.xlsx +0 -0
  160. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.csv +6 -0
  161. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.ods +0 -0
  162. data/test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.xlsx +0 -0
  163. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/data.csv +4 -0
  164. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/data.ods +0 -0
  165. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/data.xlsx +0 -0
  166. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.csv +1 -0
  167. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.ods +0 -0
  168. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.xlsx +0 -0
  169. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.csv +6 -0
  170. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.ods +0 -0
  171. data/test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.xlsx +0 -0
  172. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.csv +4 -0
  173. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.ods +0 -0
  174. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.xlsx +0 -0
  175. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/empty.csv +1 -0
  176. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/empty.ods +0 -0
  177. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/empty.xlsx +0 -0
  178. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.csv +6 -0
  179. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.ods +0 -0
  180. data/test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.xlsx +0 -0
  181. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.csv +4 -0
  182. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.ods +0 -0
  183. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.xlsx +0 -0
  184. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/empty.csv +1 -0
  185. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/empty.ods +0 -0
  186. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/empty.xlsx +0 -0
  187. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.csv +6 -0
  188. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.ods +0 -0
  189. data/test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.xlsx +0 -0
  190. data/test/dummy_app/tmp/axlsx-master/models/Post/data.csv +4 -0
  191. data/test/dummy_app/tmp/axlsx-master/models/Post/data.ods +0 -0
  192. data/test/dummy_app/tmp/axlsx-master/models/Post/data.xlsx +0 -0
  193. data/test/dummy_app/tmp/axlsx-master/models/Post/empty.csv +1 -0
  194. data/test/dummy_app/tmp/axlsx-master/models/Post/empty.ods +0 -0
  195. data/test/dummy_app/tmp/axlsx-master/models/Post/empty.xlsx +0 -0
  196. data/test/dummy_app/tmp/axlsx-master/models/Post/instances.csv +6 -0
  197. data/test/dummy_app/tmp/axlsx-master/models/Post/instances.ods +0 -0
  198. data/test/dummy_app/tmp/axlsx-master/models/Post/instances.xlsx +0 -0
  199. data/test/dummy_app/tmp/axlsx-master/multi_sheet.ods +0 -0
  200. data/test/dummy_app/tmp/axlsx-master/multi_sheet.xlsx +0 -0
  201. data/test/integration/application_test.rb +8 -16
  202. data/test/models/all_models_test.rb +15 -19
  203. data/test/test_helper.rb +48 -9
  204. data/test/unit/ods/general_test.rb +121 -0
  205. data/test/unit/{formats_test.rb → rails/formats_test.rb} +1 -1
  206. data/test/unit/{exceptions_test.rb → spreadsheet_architect/exceptions_test.rb} +19 -15
  207. data/test/unit/{general_test.rb → spreadsheet_architect/spreadsheet_architect_test.rb} +3 -3
  208. data/test/unit/spreadsheet_architect/utils/ods_test.rb +58 -0
  209. data/test/unit/{xlsx_utils_test.rb → spreadsheet_architect/utils/xlsx_test.rb} +13 -21
  210. data/test/unit/{utils_test.rb → spreadsheet_architect/utils_test.rb} +15 -31
  211. data/test/unit/xlsx/freeze_test.rb +79 -0
  212. data/test/unit/xlsx/general_test.rb +199 -0
  213. metadata +395 -128
  214. data/test/dummy_app/config/environments/development.rb +0 -30
  215. data/test/dummy_app/config/environments/production.rb +0 -60
  216. data/test/unit/kitchen_sink_test.rb +0 -110
  217. data/test/unit/multi_sheet_test.rb +0 -29
  218. data/test/unit/regressions_test.rb +0 -11
  219. data/test/unit/xlsx_freeze_test.rb +0 -44
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: 4.1.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Weston Ganger
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-20 00:00:00.000000000 Z
11
+ date: 2022-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: caxlsx
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.2
19
+ version: 3.3.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '4'
@@ -26,12 +26,12 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 2.0.2
29
+ version: 3.3.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '4'
33
33
  - !ruby/object:Gem::Dependency
34
- name: axlsx_styler
34
+ name: rodf
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
@@ -51,27 +51,21 @@ dependencies:
51
51
  - !ruby/object:Gem::Version
52
52
  version: '2'
53
53
  - !ruby/object:Gem::Dependency
54
- name: rodf
54
+ name: rake
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 1.0.0
60
- - - "<"
61
- - !ruby/object:Gem::Version
62
- version: '2'
63
- type: :runtime
59
+ version: '0'
60
+ type: :development
64
61
  prerelease: false
65
62
  version_requirements: !ruby/object:Gem::Requirement
66
63
  requirements:
67
64
  - - ">="
68
65
  - !ruby/object:Gem::Version
69
- version: 1.0.0
70
- - - "<"
71
- - !ruby/object:Gem::Version
72
- version: '2'
66
+ version: '0'
73
67
  - !ruby/object:Gem::Dependency
74
- name: rake
68
+ name: bundler
75
69
  requirement: !ruby/object:Gem::Requirement
76
70
  requirements:
77
71
  - - ">="
@@ -85,7 +79,7 @@ dependencies:
85
79
  - !ruby/object:Gem::Version
86
80
  version: '0'
87
81
  - !ruby/object:Gem::Dependency
88
- name: bundler
82
+ name: minitest
89
83
  requirement: !ruby/object:Gem::Requirement
90
84
  requirements:
91
85
  - - ">="
@@ -99,7 +93,7 @@ dependencies:
99
93
  - !ruby/object:Gem::Version
100
94
  version: '0'
101
95
  - !ruby/object:Gem::Dependency
102
- name: minitest
96
+ name: minitest-reporters
103
97
  requirement: !ruby/object:Gem::Requirement
104
98
  requirements:
105
99
  - - ">="
@@ -113,7 +107,7 @@ dependencies:
113
107
  - !ruby/object:Gem::Version
114
108
  version: '0'
115
109
  - !ruby/object:Gem::Dependency
116
- name: minitest-reporters
110
+ name: minitest-spec-rails
117
111
  requirement: !ruby/object:Gem::Requirement
118
112
  requirements:
119
113
  - - ">="
@@ -168,6 +162,34 @@ dependencies:
168
162
  - - ">="
169
163
  - !ruby/object:Gem::Version
170
164
  version: '0'
165
+ - !ruby/object:Gem::Dependency
166
+ name: pry
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
172
+ type: :development
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
179
+ - !ruby/object:Gem::Dependency
180
+ name: warning
181
+ requirement: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ type: :development
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
171
193
  description: Spreadsheet Architect is a library that allows you to create XLSX, ODS,
172
194
  or CSV spreadsheets easily from ActiveRecord relations, Plain Ruby classes, or predefined
173
195
  data.
@@ -189,6 +211,7 @@ files:
189
211
  - lib/spreadsheet_architect/exceptions.rb
190
212
  - lib/spreadsheet_architect/mime_types.rb
191
213
  - lib/spreadsheet_architect/utils.rb
214
+ - lib/spreadsheet_architect/utils/ods.rb
192
215
  - lib/spreadsheet_architect/utils/xlsx.rb
193
216
  - lib/spreadsheet_architect/version.rb
194
217
  - test/dummy_app/Rakefile
@@ -210,8 +233,6 @@ files:
210
233
  - test/dummy_app/config/boot.rb
211
234
  - test/dummy_app/config/database.yml
212
235
  - test/dummy_app/config/environment.rb
213
- - test/dummy_app/config/environments/development.rb
214
- - test/dummy_app/config/environments/production.rb
215
236
  - test/dummy_app/config/environments/test.rb
216
237
  - test/dummy_app/config/initializers/backtrace_silencers.rb
217
238
  - test/dummy_app/config/initializers/inflections.rb
@@ -227,6 +248,68 @@ files:
227
248
  - test/dummy_app/db/schema.rb
228
249
  - test/dummy_app/db/test.sqlite3
229
250
  - test/dummy_app/log/test.log
251
+ - test/dummy_app/tmp/2.0.1/integration/alt_xlsx.xlsx
252
+ - test/dummy_app/tmp/2.0.1/integration/csv.csv
253
+ - test/dummy_app/tmp/2.0.1/integration/ods.ods
254
+ - test/dummy_app/tmp/2.0.1/integration/xlsx.xlsx
255
+ - test/dummy_app/tmp/2.0.1/kitchen_sink.ods
256
+ - test/dummy_app/tmp/2.0.1/kitchen_sink.xlsx
257
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/data.csv
258
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/data.ods
259
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/data.xlsx
260
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/empty.csv
261
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/empty.ods
262
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/empty.xlsx
263
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/instances.csv
264
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/instances.ods
265
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/instances.xlsx
266
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/data.csv
267
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/data.ods
268
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/data.xlsx
269
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/empty.csv
270
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/empty.ods
271
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/empty.xlsx
272
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/instances.csv
273
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/instances.ods
274
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/instances.xlsx
275
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/data.csv
276
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/data.ods
277
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/data.xlsx
278
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/empty.csv
279
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/empty.ods
280
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/empty.xlsx
281
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/instances.csv
282
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/instances.ods
283
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/instances.xlsx
284
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/data.csv
285
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/data.ods
286
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/data.xlsx
287
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/empty.csv
288
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/empty.ods
289
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/empty.xlsx
290
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/instances.csv
291
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/instances.ods
292
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/instances.xlsx
293
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/data.csv
294
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/data.ods
295
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/data.xlsx
296
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/empty.csv
297
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/empty.ods
298
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/empty.xlsx
299
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/instances.csv
300
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/instances.ods
301
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/instances.xlsx
302
+ - test/dummy_app/tmp/2.0.1/models/Post/data.csv
303
+ - test/dummy_app/tmp/2.0.1/models/Post/data.ods
304
+ - test/dummy_app/tmp/2.0.1/models/Post/data.xlsx
305
+ - test/dummy_app/tmp/2.0.1/models/Post/empty.csv
306
+ - test/dummy_app/tmp/2.0.1/models/Post/empty.ods
307
+ - test/dummy_app/tmp/2.0.1/models/Post/empty.xlsx
308
+ - test/dummy_app/tmp/2.0.1/models/Post/instances.csv
309
+ - test/dummy_app/tmp/2.0.1/models/Post/instances.ods
310
+ - test/dummy_app/tmp/2.0.1/models/Post/instances.xlsx
311
+ - test/dummy_app/tmp/2.0.1/multi_sheet.ods
312
+ - test/dummy_app/tmp/2.0.1/multi_sheet.xlsx
230
313
  - test/dummy_app/tmp/3.0.0.pre/integration/alt_xlsx.xlsx
231
314
  - test/dummy_app/tmp/3.0.0.pre/integration/csv.csv
232
315
  - test/dummy_app/tmp/3.0.0.pre/integration/ods.ods
@@ -289,23 +372,85 @@ files:
289
372
  - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.xlsx
290
373
  - test/dummy_app/tmp/3.0.0.pre/multi_sheet.ods
291
374
  - test/dummy_app/tmp/3.0.0.pre/multi_sheet.xlsx
375
+ - test/dummy_app/tmp/axlsx-master/integration/alt_xlsx.xlsx
376
+ - test/dummy_app/tmp/axlsx-master/integration/csv.csv
377
+ - test/dummy_app/tmp/axlsx-master/integration/ods.ods
378
+ - test/dummy_app/tmp/axlsx-master/integration/xlsx.xlsx
379
+ - test/dummy_app/tmp/axlsx-master/kitchen_sink.ods
380
+ - test/dummy_app/tmp/axlsx-master/kitchen_sink.xlsx
381
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.csv
382
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.ods
383
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.xlsx
384
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.csv
385
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.ods
386
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.xlsx
387
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.csv
388
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.ods
389
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.xlsx
390
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.csv
391
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.ods
392
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.xlsx
393
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.csv
394
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.ods
395
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.xlsx
396
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.csv
397
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.ods
398
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.xlsx
399
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.csv
400
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.ods
401
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.xlsx
402
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.csv
403
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.ods
404
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.xlsx
405
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.csv
406
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.ods
407
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.xlsx
408
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.csv
409
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.ods
410
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.xlsx
411
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/empty.csv
412
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/empty.ods
413
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/empty.xlsx
414
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.csv
415
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.ods
416
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.xlsx
417
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.csv
418
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.ods
419
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.xlsx
420
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/empty.csv
421
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/empty.ods
422
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/empty.xlsx
423
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.csv
424
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.ods
425
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.xlsx
426
+ - test/dummy_app/tmp/axlsx-master/models/Post/data.csv
427
+ - test/dummy_app/tmp/axlsx-master/models/Post/data.ods
428
+ - test/dummy_app/tmp/axlsx-master/models/Post/data.xlsx
429
+ - test/dummy_app/tmp/axlsx-master/models/Post/empty.csv
430
+ - test/dummy_app/tmp/axlsx-master/models/Post/empty.ods
431
+ - test/dummy_app/tmp/axlsx-master/models/Post/empty.xlsx
432
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.csv
433
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.ods
434
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.xlsx
435
+ - test/dummy_app/tmp/axlsx-master/multi_sheet.ods
436
+ - test/dummy_app/tmp/axlsx-master/multi_sheet.xlsx
292
437
  - test/integration/application_test.rb
293
438
  - test/models/all_models_test.rb
294
439
  - test/test_helper.rb
295
- - test/unit/exceptions_test.rb
296
- - test/unit/formats_test.rb
297
- - test/unit/general_test.rb
298
- - test/unit/kitchen_sink_test.rb
299
- - test/unit/multi_sheet_test.rb
300
- - test/unit/regressions_test.rb
301
- - test/unit/utils_test.rb
302
- - test/unit/xlsx_freeze_test.rb
303
- - test/unit/xlsx_utils_test.rb
440
+ - test/unit/ods/general_test.rb
441
+ - test/unit/rails/formats_test.rb
442
+ - test/unit/spreadsheet_architect/exceptions_test.rb
443
+ - test/unit/spreadsheet_architect/spreadsheet_architect_test.rb
444
+ - test/unit/spreadsheet_architect/utils/ods_test.rb
445
+ - test/unit/spreadsheet_architect/utils/xlsx_test.rb
446
+ - test/unit/spreadsheet_architect/utils_test.rb
447
+ - test/unit/xlsx/freeze_test.rb
448
+ - test/unit/xlsx/general_test.rb
304
449
  homepage: https://github.com/westonganger/spreadsheet_architect
305
450
  licenses:
306
451
  - MIT
307
452
  metadata: {}
308
- post_install_message:
453
+ post_install_message:
309
454
  rdoc_options: []
310
455
  require_paths:
311
456
  - lib
@@ -321,119 +466,241 @@ required_rubygems_version: !ruby/object:Gem::Requirement
321
466
  version: '0'
322
467
  requirements: []
323
468
  rubygems_version: 3.1.2
324
- signing_key:
469
+ signing_key:
325
470
  specification_version: 4
326
471
  summary: Spreadsheet Architect is a library that allows you to create XLSX, ODS, or
327
472
  CSV spreadsheets easily from ActiveRecord relations, Plain Ruby classes, or predefined
328
473
  data.
329
474
  test_files:
330
- - test/models/all_models_test.rb
331
- - test/integration/application_test.rb
332
- - test/test_helper.rb
333
- - test/unit/multi_sheet_test.rb
334
- - test/unit/regressions_test.rb
335
- - test/unit/formats_test.rb
336
- - test/unit/kitchen_sink_test.rb
337
- - test/unit/utils_test.rb
338
- - test/unit/xlsx_freeze_test.rb
339
- - test/unit/general_test.rb
340
- - test/unit/xlsx_utils_test.rb
341
- - test/unit/exceptions_test.rb
475
+ - test/dummy_app/app/assets/config/manifest.js
476
+ - test/dummy_app/app/assets/javascripts/application.js
477
+ - test/dummy_app/app/assets/stylesheets/application.css
478
+ - test/dummy_app/app/controllers/application_controller.rb
479
+ - test/dummy_app/app/controllers/spreadsheets_controller.rb
480
+ - test/dummy_app/app/models/active_model_object.rb
481
+ - test/dummy_app/app/models/application_record.rb
342
482
  - test/dummy_app/app/models/custom_columns_method_post.rb
483
+ - test/dummy_app/app/models/custom_post.rb
343
484
  - test/dummy_app/app/models/legacy_plain_ruby_object.rb
344
485
  - test/dummy_app/app/models/plain_ruby_object.rb
345
- - test/dummy_app/app/models/application_record.rb
346
- - test/dummy_app/app/models/active_model_object.rb
347
- - test/dummy_app/app/models/custom_post.rb
348
486
  - test/dummy_app/app/models/post.rb
349
487
  - test/dummy_app/app/views/layouts/application.html.erb
350
- - test/dummy_app/app/assets/stylesheets/application.css
351
- - test/dummy_app/app/assets/config/manifest.js
352
- - test/dummy_app/app/assets/javascripts/application.js
353
- - test/dummy_app/app/controllers/spreadsheets_controller.rb
354
- - test/dummy_app/app/controllers/application_controller.rb
488
+ - test/dummy_app/config/application.rb
489
+ - test/dummy_app/config/boot.rb
490
+ - test/dummy_app/config/database.yml
491
+ - test/dummy_app/config/environment.rb
492
+ - test/dummy_app/config/environments/test.rb
493
+ - test/dummy_app/config/initializers/backtrace_silencers.rb
494
+ - test/dummy_app/config/initializers/inflections.rb
495
+ - test/dummy_app/config/initializers/mime_types.rb
496
+ - test/dummy_app/config/initializers/secret_token.rb
497
+ - test/dummy_app/config/initializers/session_store.rb
498
+ - test/dummy_app/config/initializers/spreadsheet_architect.rb
499
+ - test/dummy_app/config/initializers/wrap_parameters.rb
500
+ - test/dummy_app/config/locales/en.yml
501
+ - test/dummy_app/config/routes.rb
502
+ - test/dummy_app/config/secrets.yml
355
503
  - test/dummy_app/config.ru
504
+ - test/dummy_app/db/migrate/20170103234524_add_posts.rb
505
+ - test/dummy_app/db/schema.rb
506
+ - test/dummy_app/db/test.sqlite3
507
+ - test/dummy_app/log/test.log
508
+ - test/dummy_app/Rakefile
509
+ - test/dummy_app/tmp/2.0.1/integration/alt_xlsx.xlsx
510
+ - test/dummy_app/tmp/2.0.1/integration/csv.csv
511
+ - test/dummy_app/tmp/2.0.1/integration/ods.ods
512
+ - test/dummy_app/tmp/2.0.1/integration/xlsx.xlsx
513
+ - test/dummy_app/tmp/2.0.1/kitchen_sink.ods
514
+ - test/dummy_app/tmp/2.0.1/kitchen_sink.xlsx
515
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/data.csv
516
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/data.ods
517
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/data.xlsx
518
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/empty.csv
519
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/empty.ods
520
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/empty.xlsx
521
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/instances.csv
522
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/instances.ods
523
+ - test/dummy_app/tmp/2.0.1/models/ActiveModelObject/instances.xlsx
524
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/data.csv
525
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/data.ods
526
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/data.xlsx
527
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/empty.csv
528
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/empty.ods
529
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/empty.xlsx
530
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/instances.csv
531
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/instances.ods
532
+ - test/dummy_app/tmp/2.0.1/models/CustomColumnsMethodPost/instances.xlsx
533
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/data.csv
534
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/data.ods
535
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/data.xlsx
536
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/empty.csv
537
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/empty.ods
538
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/empty.xlsx
539
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/instances.csv
540
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/instances.ods
541
+ - test/dummy_app/tmp/2.0.1/models/CustomPost/instances.xlsx
542
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/data.csv
543
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/data.ods
544
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/data.xlsx
545
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/empty.csv
546
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/empty.ods
547
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/empty.xlsx
548
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/instances.csv
549
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/instances.ods
550
+ - test/dummy_app/tmp/2.0.1/models/LegacyPlainRubyObject/instances.xlsx
551
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/data.csv
552
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/data.ods
553
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/data.xlsx
554
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/empty.csv
555
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/empty.ods
556
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/empty.xlsx
557
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/instances.csv
558
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/instances.ods
559
+ - test/dummy_app/tmp/2.0.1/models/PlainRubyObject/instances.xlsx
560
+ - test/dummy_app/tmp/2.0.1/models/Post/data.csv
561
+ - test/dummy_app/tmp/2.0.1/models/Post/data.ods
562
+ - test/dummy_app/tmp/2.0.1/models/Post/data.xlsx
563
+ - test/dummy_app/tmp/2.0.1/models/Post/empty.csv
564
+ - test/dummy_app/tmp/2.0.1/models/Post/empty.ods
565
+ - test/dummy_app/tmp/2.0.1/models/Post/empty.xlsx
566
+ - test/dummy_app/tmp/2.0.1/models/Post/instances.csv
567
+ - test/dummy_app/tmp/2.0.1/models/Post/instances.ods
568
+ - test/dummy_app/tmp/2.0.1/models/Post/instances.xlsx
569
+ - test/dummy_app/tmp/2.0.1/multi_sheet.ods
570
+ - test/dummy_app/tmp/2.0.1/multi_sheet.xlsx
571
+ - test/dummy_app/tmp/3.0.0.pre/integration/alt_xlsx.xlsx
572
+ - test/dummy_app/tmp/3.0.0.pre/integration/csv.csv
573
+ - test/dummy_app/tmp/3.0.0.pre/integration/ods.ods
574
+ - test/dummy_app/tmp/3.0.0.pre/integration/xlsx.xlsx
356
575
  - test/dummy_app/tmp/3.0.0.pre/kitchen_sink.ods
357
- - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.ods
358
- - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.xlsx
359
- - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.ods
360
- - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.xlsx
361
- - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.csv
362
- - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.xlsx
363
- - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.ods
364
- - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.csv
365
- - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.csv
366
- - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.ods
367
- - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.xlsx
368
- - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.ods
369
- - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.xlsx
370
- - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.csv
371
- - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.xlsx
372
- - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.ods
373
- - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.csv
374
- - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.csv
375
- - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.ods
376
- - test/dummy_app/tmp/3.0.0.pre/models/Post/data.xlsx
377
- - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.ods
378
- - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.xlsx
379
- - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.csv
380
- - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.xlsx
381
- - test/dummy_app/tmp/3.0.0.pre/models/Post/data.ods
382
- - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.csv
383
- - test/dummy_app/tmp/3.0.0.pre/models/Post/data.csv
384
- - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.ods
576
+ - test/dummy_app/tmp/3.0.0.pre/kitchen_sink.xlsx
577
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.csv
578
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.ods
385
579
  - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.xlsx
386
- - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.ods
387
- - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.xlsx
388
580
  - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.csv
389
- - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.xlsx
390
- - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.ods
581
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.ods
582
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/empty.xlsx
391
583
  - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.csv
392
- - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/data.csv
393
- - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.ods
394
- - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.xlsx
395
- - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.ods
396
- - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.xlsx
397
- - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.csv
398
- - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.xlsx
399
- - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.ods
400
- - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.csv
401
- - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.csv
402
- - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.ods
584
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.ods
585
+ - test/dummy_app/tmp/3.0.0.pre/models/ActiveModelObject/instances.xlsx
586
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.csv
587
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.ods
588
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/data.xlsx
589
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.csv
590
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.ods
591
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/empty.xlsx
592
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.csv
593
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.ods
594
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomColumnsMethodPost/instances.xlsx
595
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.csv
596
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.ods
403
597
  - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.xlsx
404
- - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.ods
405
- - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.xlsx
406
598
  - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.csv
407
- - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.xlsx
408
- - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.ods
599
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.ods
600
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/empty.xlsx
409
601
  - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.csv
410
- - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/data.csv
411
- - test/dummy_app/tmp/3.0.0.pre/integration/xlsx.xlsx
412
- - test/dummy_app/tmp/3.0.0.pre/integration/alt_xlsx.xlsx
413
- - test/dummy_app/tmp/3.0.0.pre/integration/csv.csv
414
- - test/dummy_app/tmp/3.0.0.pre/integration/ods.ods
415
- - test/dummy_app/tmp/3.0.0.pre/kitchen_sink.xlsx
602
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.ods
603
+ - test/dummy_app/tmp/3.0.0.pre/models/CustomPost/instances.xlsx
604
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.csv
605
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.ods
606
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/data.xlsx
607
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.csv
608
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.ods
609
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/empty.xlsx
610
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.csv
611
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.ods
612
+ - test/dummy_app/tmp/3.0.0.pre/models/LegacyPlainRubyObject/instances.xlsx
613
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.csv
614
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.ods
615
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/data.xlsx
616
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.csv
617
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.ods
618
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/empty.xlsx
619
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.csv
620
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.ods
621
+ - test/dummy_app/tmp/3.0.0.pre/models/PlainRubyObject/instances.xlsx
622
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/data.csv
623
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/data.ods
624
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/data.xlsx
625
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.csv
626
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.ods
627
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/empty.xlsx
628
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.csv
629
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.ods
630
+ - test/dummy_app/tmp/3.0.0.pre/models/Post/instances.xlsx
416
631
  - test/dummy_app/tmp/3.0.0.pre/multi_sheet.ods
417
632
  - test/dummy_app/tmp/3.0.0.pre/multi_sheet.xlsx
418
- - test/dummy_app/log/test.log
419
- - test/dummy_app/config/database.yml
420
- - test/dummy_app/config/environments/production.rb
421
- - test/dummy_app/config/environments/test.rb
422
- - test/dummy_app/config/environments/development.rb
423
- - test/dummy_app/config/routes.rb
424
- - test/dummy_app/config/environment.rb
425
- - test/dummy_app/config/locales/en.yml
426
- - test/dummy_app/config/boot.rb
427
- - test/dummy_app/config/initializers/secret_token.rb
428
- - test/dummy_app/config/initializers/inflections.rb
429
- - test/dummy_app/config/initializers/mime_types.rb
430
- - test/dummy_app/config/initializers/session_store.rb
431
- - test/dummy_app/config/initializers/wrap_parameters.rb
432
- - test/dummy_app/config/initializers/spreadsheet_architect.rb
433
- - test/dummy_app/config/initializers/backtrace_silencers.rb
434
- - test/dummy_app/config/secrets.yml
435
- - test/dummy_app/config/application.rb
436
- - test/dummy_app/Rakefile
437
- - test/dummy_app/db/schema.rb
438
- - test/dummy_app/db/test.sqlite3
439
- - test/dummy_app/db/migrate/20170103234524_add_posts.rb
633
+ - test/dummy_app/tmp/axlsx-master/integration/alt_xlsx.xlsx
634
+ - test/dummy_app/tmp/axlsx-master/integration/csv.csv
635
+ - test/dummy_app/tmp/axlsx-master/integration/ods.ods
636
+ - test/dummy_app/tmp/axlsx-master/integration/xlsx.xlsx
637
+ - test/dummy_app/tmp/axlsx-master/kitchen_sink.ods
638
+ - test/dummy_app/tmp/axlsx-master/kitchen_sink.xlsx
639
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.csv
640
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.ods
641
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/data.xlsx
642
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.csv
643
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.ods
644
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/empty.xlsx
645
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.csv
646
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.ods
647
+ - test/dummy_app/tmp/axlsx-master/models/ActiveModelObject/instances.xlsx
648
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.csv
649
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.ods
650
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/data.xlsx
651
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.csv
652
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.ods
653
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/empty.xlsx
654
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.csv
655
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.ods
656
+ - test/dummy_app/tmp/axlsx-master/models/CustomColumnsMethodPost/instances.xlsx
657
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.csv
658
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.ods
659
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/data.xlsx
660
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.csv
661
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.ods
662
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/empty.xlsx
663
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.csv
664
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.ods
665
+ - test/dummy_app/tmp/axlsx-master/models/CustomPost/instances.xlsx
666
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.csv
667
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.ods
668
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/data.xlsx
669
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/empty.csv
670
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/empty.ods
671
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/empty.xlsx
672
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.csv
673
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.ods
674
+ - test/dummy_app/tmp/axlsx-master/models/LegacyPlainRubyObject/instances.xlsx
675
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.csv
676
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.ods
677
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/data.xlsx
678
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/empty.csv
679
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/empty.ods
680
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/empty.xlsx
681
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.csv
682
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.ods
683
+ - test/dummy_app/tmp/axlsx-master/models/PlainRubyObject/instances.xlsx
684
+ - test/dummy_app/tmp/axlsx-master/models/Post/data.csv
685
+ - test/dummy_app/tmp/axlsx-master/models/Post/data.ods
686
+ - test/dummy_app/tmp/axlsx-master/models/Post/data.xlsx
687
+ - test/dummy_app/tmp/axlsx-master/models/Post/empty.csv
688
+ - test/dummy_app/tmp/axlsx-master/models/Post/empty.ods
689
+ - test/dummy_app/tmp/axlsx-master/models/Post/empty.xlsx
690
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.csv
691
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.ods
692
+ - test/dummy_app/tmp/axlsx-master/models/Post/instances.xlsx
693
+ - test/dummy_app/tmp/axlsx-master/multi_sheet.ods
694
+ - test/dummy_app/tmp/axlsx-master/multi_sheet.xlsx
695
+ - test/integration/application_test.rb
696
+ - test/models/all_models_test.rb
697
+ - test/test_helper.rb
698
+ - test/unit/ods/general_test.rb
699
+ - test/unit/rails/formats_test.rb
700
+ - test/unit/spreadsheet_architect/exceptions_test.rb
701
+ - test/unit/spreadsheet_architect/spreadsheet_architect_test.rb
702
+ - test/unit/spreadsheet_architect/utils/ods_test.rb
703
+ - test/unit/spreadsheet_architect/utils/xlsx_test.rb
704
+ - test/unit/spreadsheet_architect/utils_test.rb
705
+ - test/unit/xlsx/freeze_test.rb
706
+ - test/unit/xlsx/general_test.rb