calcsheet 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +9 -0
  3. data/CHANGELOG.md +62 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +921 -0
  6. data/lib/calcsheet/book.rb +164 -0
  7. data/lib/calcsheet/cast.rb +578 -0
  8. data/lib/calcsheet/column.rb +117 -0
  9. data/lib/calcsheet/column_letter.rb +34 -0
  10. data/lib/calcsheet/configuration.rb +186 -0
  11. data/lib/calcsheet/decimal_text.rb +19 -0
  12. data/lib/calcsheet/entry_name.rb +28 -0
  13. data/lib/calcsheet/errors.rb +186 -0
  14. data/lib/calcsheet/excel_serial.rb +65 -0
  15. data/lib/calcsheet/format_detector.rb +109 -0
  16. data/lib/calcsheet/formula_protection.rb +31 -0
  17. data/lib/calcsheet/grid.rb +20 -0
  18. data/lib/calcsheet/header_keys.rb +66 -0
  19. data/lib/calcsheet/limited_inflater.rb +326 -0
  20. data/lib/calcsheet/merge_check.rb +41 -0
  21. data/lib/calcsheet/odf.rb +45 -0
  22. data/lib/calcsheet/option_validation.rb +160 -0
  23. data/lib/calcsheet/options.rb +10 -0
  24. data/lib/calcsheet/raw_row.rb +18 -0
  25. data/lib/calcsheet/raw_types.rb +15 -0
  26. data/lib/calcsheet/readers/csv_dialect.rb +264 -0
  27. data/lib/calcsheet/readers/csv_input.rb +128 -0
  28. data/lib/calcsheet/readers/csv_reader.rb +239 -0
  29. data/lib/calcsheet/readers/ods/cell_formats.rb +115 -0
  30. data/lib/calcsheet/readers/ods/content_parser.rb +594 -0
  31. data/lib/calcsheet/readers/ods/count.rb +30 -0
  32. data/lib/calcsheet/readers/ods/cursor.rb +121 -0
  33. data/lib/calcsheet/readers/ods/patterns.rb +70 -0
  34. data/lib/calcsheet/readers/ods/row_seek.rb +157 -0
  35. data/lib/calcsheet/readers/ods/scanner.rb +302 -0
  36. data/lib/calcsheet/readers/ods/style_scan.rb +108 -0
  37. data/lib/calcsheet/readers/ods/tag_text.rb +76 -0
  38. data/lib/calcsheet/readers/ods_reader.rb +71 -0
  39. data/lib/calcsheet/readers/ox_errors.rb +40 -0
  40. data/lib/calcsheet/readers/references.rb +62 -0
  41. data/lib/calcsheet/readers/row_batches.rb +45 -0
  42. data/lib/calcsheet/readers/sax_sheet.rb +108 -0
  43. data/lib/calcsheet/readers/stream_remainder.rb +66 -0
  44. data/lib/calcsheet/readers/tag_scan.rb +119 -0
  45. data/lib/calcsheet/readers/xlsx/escapes.rb +36 -0
  46. data/lib/calcsheet/readers/xlsx/local_name.rb +54 -0
  47. data/lib/calcsheet/readers/xlsx/number_format.rb +89 -0
  48. data/lib/calcsheet/readers/xlsx/row_skipper.rb +162 -0
  49. data/lib/calcsheet/readers/xlsx/shared_strings.rb +209 -0
  50. data/lib/calcsheet/readers/xlsx/sheet_parser.rb +435 -0
  51. data/lib/calcsheet/readers/xlsx/styles.rb +156 -0
  52. data/lib/calcsheet/readers/xlsx/workbook_meta.rb +228 -0
  53. data/lib/calcsheet/readers/xlsx_reader.rb +122 -0
  54. data/lib/calcsheet/reading.rb +281 -0
  55. data/lib/calcsheet/row.rb +110 -0
  56. data/lib/calcsheet/sample.rb +10 -0
  57. data/lib/calcsheet/schema.rb +140 -0
  58. data/lib/calcsheet/sheet_info.rb +21 -0
  59. data/lib/calcsheet/sheet_names.rb +114 -0
  60. data/lib/calcsheet/sheet_selection.rb +58 -0
  61. data/lib/calcsheet/source.rb +263 -0
  62. data/lib/calcsheet/stream_body.rb +81 -0
  63. data/lib/calcsheet/time_zone.rb +96 -0
  64. data/lib/calcsheet/untrusted.rb +32 -0
  65. data/lib/calcsheet/version.rb +6 -0
  66. data/lib/calcsheet/write_book.rb +202 -0
  67. data/lib/calcsheet/write_sheet.rb +282 -0
  68. data/lib/calcsheet/writers/csv_writer.rb +138 -0
  69. data/lib/calcsheet/writers/ods_writer.rb +437 -0
  70. data/lib/calcsheet/writers/xlsx_writer.rb +350 -0
  71. data/lib/calcsheet/writers/xml_text.rb +35 -0
  72. data/lib/calcsheet/writers/zip_buffered.rb +55 -0
  73. data/lib/calcsheet/zip_container.rb +190 -0
  74. data/lib/calcsheet/zip_directory.rb +202 -0
  75. data/lib/calcsheet/zip_end_record.rb +117 -0
  76. data/lib/calcsheet.rb +295 -0
  77. metadata +200 -0
metadata ADDED
@@ -0,0 +1,200 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: calcsheet
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Demetra Opinioni.net Srl
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: bigdecimal
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '3.1'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '5'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '3.1'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '5'
32
+ - !ruby/object:Gem::Dependency
33
+ name: csv
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '3.3'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - "~>"
44
+ - !ruby/object:Gem::Version
45
+ version: '3.3'
46
+ - !ruby/object:Gem::Dependency
47
+ name: ox
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '2.14'
53
+ type: :runtime
54
+ prerelease: false
55
+ version_requirements: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '2.14'
60
+ - !ruby/object:Gem::Dependency
61
+ name: rubyzip
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '3.0'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '3.0'
74
+ - !ruby/object:Gem::Dependency
75
+ name: zip_kit
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '6.3'
81
+ type: :runtime
82
+ prerelease: false
83
+ version_requirements: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '6.3'
88
+ description: |
89
+ Calcsheet reads and writes CSV, XLSX and ODS spreadsheets as streams of rows, with typed cells,
90
+ configurable limits and no dependency on Rails.
91
+ email:
92
+ - developers@opinioni.net
93
+ executables: []
94
+ extensions: []
95
+ extra_rdoc_files: []
96
+ files:
97
+ - ".yardopts"
98
+ - CHANGELOG.md
99
+ - LICENSE.txt
100
+ - README.md
101
+ - lib/calcsheet.rb
102
+ - lib/calcsheet/book.rb
103
+ - lib/calcsheet/cast.rb
104
+ - lib/calcsheet/column.rb
105
+ - lib/calcsheet/column_letter.rb
106
+ - lib/calcsheet/configuration.rb
107
+ - lib/calcsheet/decimal_text.rb
108
+ - lib/calcsheet/entry_name.rb
109
+ - lib/calcsheet/errors.rb
110
+ - lib/calcsheet/excel_serial.rb
111
+ - lib/calcsheet/format_detector.rb
112
+ - lib/calcsheet/formula_protection.rb
113
+ - lib/calcsheet/grid.rb
114
+ - lib/calcsheet/header_keys.rb
115
+ - lib/calcsheet/limited_inflater.rb
116
+ - lib/calcsheet/merge_check.rb
117
+ - lib/calcsheet/odf.rb
118
+ - lib/calcsheet/option_validation.rb
119
+ - lib/calcsheet/options.rb
120
+ - lib/calcsheet/raw_row.rb
121
+ - lib/calcsheet/raw_types.rb
122
+ - lib/calcsheet/readers/csv_dialect.rb
123
+ - lib/calcsheet/readers/csv_input.rb
124
+ - lib/calcsheet/readers/csv_reader.rb
125
+ - lib/calcsheet/readers/ods/cell_formats.rb
126
+ - lib/calcsheet/readers/ods/content_parser.rb
127
+ - lib/calcsheet/readers/ods/count.rb
128
+ - lib/calcsheet/readers/ods/cursor.rb
129
+ - lib/calcsheet/readers/ods/patterns.rb
130
+ - lib/calcsheet/readers/ods/row_seek.rb
131
+ - lib/calcsheet/readers/ods/scanner.rb
132
+ - lib/calcsheet/readers/ods/style_scan.rb
133
+ - lib/calcsheet/readers/ods/tag_text.rb
134
+ - lib/calcsheet/readers/ods_reader.rb
135
+ - lib/calcsheet/readers/ox_errors.rb
136
+ - lib/calcsheet/readers/references.rb
137
+ - lib/calcsheet/readers/row_batches.rb
138
+ - lib/calcsheet/readers/sax_sheet.rb
139
+ - lib/calcsheet/readers/stream_remainder.rb
140
+ - lib/calcsheet/readers/tag_scan.rb
141
+ - lib/calcsheet/readers/xlsx/escapes.rb
142
+ - lib/calcsheet/readers/xlsx/local_name.rb
143
+ - lib/calcsheet/readers/xlsx/number_format.rb
144
+ - lib/calcsheet/readers/xlsx/row_skipper.rb
145
+ - lib/calcsheet/readers/xlsx/shared_strings.rb
146
+ - lib/calcsheet/readers/xlsx/sheet_parser.rb
147
+ - lib/calcsheet/readers/xlsx/styles.rb
148
+ - lib/calcsheet/readers/xlsx/workbook_meta.rb
149
+ - lib/calcsheet/readers/xlsx_reader.rb
150
+ - lib/calcsheet/reading.rb
151
+ - lib/calcsheet/row.rb
152
+ - lib/calcsheet/sample.rb
153
+ - lib/calcsheet/schema.rb
154
+ - lib/calcsheet/sheet_info.rb
155
+ - lib/calcsheet/sheet_names.rb
156
+ - lib/calcsheet/sheet_selection.rb
157
+ - lib/calcsheet/source.rb
158
+ - lib/calcsheet/stream_body.rb
159
+ - lib/calcsheet/time_zone.rb
160
+ - lib/calcsheet/untrusted.rb
161
+ - lib/calcsheet/version.rb
162
+ - lib/calcsheet/write_book.rb
163
+ - lib/calcsheet/write_sheet.rb
164
+ - lib/calcsheet/writers/csv_writer.rb
165
+ - lib/calcsheet/writers/ods_writer.rb
166
+ - lib/calcsheet/writers/xlsx_writer.rb
167
+ - lib/calcsheet/writers/xml_text.rb
168
+ - lib/calcsheet/writers/zip_buffered.rb
169
+ - lib/calcsheet/zip_container.rb
170
+ - lib/calcsheet/zip_directory.rb
171
+ - lib/calcsheet/zip_end_record.rb
172
+ homepage: https://gitlab.opinioni.net/demetra-developers/rubygems/calcsheet
173
+ licenses:
174
+ - MIT
175
+ metadata:
176
+ allowed_push_host: https://rubygems.org
177
+ source_code_uri: https://gitlab.opinioni.net/demetra-developers/rubygems/calcsheet/-/tree/main
178
+ bug_tracker_uri: https://gitlab.opinioni.net/demetra-developers/rubygems/calcsheet/-/issues
179
+ documentation_uri: https://rubydoc.info/gems/calcsheet
180
+ changelog_uri: https://gitlab.opinioni.net/demetra-developers/rubygems/calcsheet/-/blob/main/CHANGELOG.md
181
+ security_policy_uri: https://gitlab.opinioni.net/demetra-developers/rubygems/calcsheet/-/blob/main/SECURITY.md
182
+ rubygems_mfa_required: 'true'
183
+ rdoc_options: []
184
+ require_paths:
185
+ - lib
186
+ required_ruby_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '3.3'
191
+ required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ requirements: []
197
+ rubygems_version: 3.6.9
198
+ specification_version: 4
199
+ summary: Streaming CSV, XLSX and ODS reader and writer.
200
+ test_files: []