csv_plus_plus 0.0.4 → 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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +9 -3
  4. data/bin/csv++ +1 -37
  5. data/bin/csvpp +6 -0
  6. data/lib/csv_plus_plus/cell.rb +24 -8
  7. data/lib/csv_plus_plus/cli.rb +97 -0
  8. data/lib/csv_plus_plus/cli_flag.rb +10 -2
  9. data/lib/csv_plus_plus/code_section.rb +22 -3
  10. data/lib/csv_plus_plus/color.rb +19 -5
  11. data/lib/csv_plus_plus/google_api_client.rb +20 -0
  12. data/lib/csv_plus_plus/google_options.rb +6 -2
  13. data/lib/csv_plus_plus/graph.rb +0 -1
  14. data/lib/csv_plus_plus/language/ast_builder.rb +68 -0
  15. data/lib/csv_plus_plus/language/benchmarked_compiler.rb +65 -0
  16. data/lib/csv_plus_plus/language/builtins.rb +46 -0
  17. data/lib/csv_plus_plus/language/cell_value.tab.rb +1 -2
  18. data/lib/csv_plus_plus/language/code_section.tab.rb +1 -2
  19. data/lib/csv_plus_plus/language/compiler.rb +74 -86
  20. data/lib/csv_plus_plus/language/entities/boolean.rb +5 -4
  21. data/lib/csv_plus_plus/language/entities/cell_reference.rb +10 -3
  22. data/lib/csv_plus_plus/language/entities/entity.rb +22 -6
  23. data/lib/csv_plus_plus/language/entities/function.rb +6 -4
  24. data/lib/csv_plus_plus/language/entities/function_call.rb +4 -3
  25. data/lib/csv_plus_plus/language/entities/number.rb +6 -4
  26. data/lib/csv_plus_plus/language/entities/runtime_value.rb +9 -8
  27. data/lib/csv_plus_plus/language/entities/string.rb +6 -4
  28. data/lib/csv_plus_plus/language/references.rb +22 -5
  29. data/lib/csv_plus_plus/language/runtime.rb +80 -22
  30. data/lib/csv_plus_plus/language/scope.rb +29 -38
  31. data/lib/csv_plus_plus/language/syntax_error.rb +10 -5
  32. data/lib/csv_plus_plus/lexer/lexer.rb +25 -12
  33. data/lib/csv_plus_plus/lexer/tokenizer.rb +35 -11
  34. data/lib/csv_plus_plus/modifier.rb +71 -8
  35. data/lib/csv_plus_plus/modifier.tab.rb +2 -2
  36. data/lib/csv_plus_plus/options.rb +17 -3
  37. data/lib/csv_plus_plus/row.rb +15 -4
  38. data/lib/csv_plus_plus/template.rb +10 -6
  39. data/lib/csv_plus_plus/version.rb +1 -1
  40. data/lib/csv_plus_plus/writer/base_writer.rb +0 -1
  41. data/lib/csv_plus_plus/writer/csv.rb +4 -1
  42. data/lib/csv_plus_plus/writer/excel.rb +5 -9
  43. data/lib/csv_plus_plus/writer/file_backer_upper.rb +58 -0
  44. data/lib/csv_plus_plus/writer/google_sheet_builder.rb +8 -10
  45. data/lib/csv_plus_plus/writer/google_sheets.rb +22 -41
  46. data/lib/csv_plus_plus/writer/rubyxl_builder.rb +23 -15
  47. data/lib/csv_plus_plus/writer/rubyxl_modifier.rb +15 -8
  48. data/lib/csv_plus_plus.rb +26 -4
  49. metadata +29 -7
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csv_plus_plus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Carroll
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-16 00:00:00.000000000 Z
11
+ date: 2023-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: google-apis-drive_v3
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.3'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: google-apis-sheets_v4
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -100,21 +114,28 @@ description: "A programming language built on top of CSV. You can define functi
100
114
  email: patrick@patrickomatic.com
101
115
  executables:
102
116
  - csv++
117
+ - csvpp
103
118
  extensions: []
104
119
  extra_rdoc_files: []
105
120
  files:
106
121
  - CHANGELOG.md
107
122
  - README.md
108
123
  - bin/csv++
124
+ - bin/csvpp
109
125
  - lib/csv_plus_plus.rb
110
126
  - lib/csv_plus_plus/cell.rb
127
+ - lib/csv_plus_plus/cli.rb
111
128
  - lib/csv_plus_plus/cli_flag.rb
112
129
  - lib/csv_plus_plus/code_section.rb
113
130
  - lib/csv_plus_plus/color.rb
114
131
  - lib/csv_plus_plus/error.rb
115
132
  - lib/csv_plus_plus/expand.rb
133
+ - lib/csv_plus_plus/google_api_client.rb
116
134
  - lib/csv_plus_plus/google_options.rb
117
135
  - lib/csv_plus_plus/graph.rb
136
+ - lib/csv_plus_plus/language/ast_builder.rb
137
+ - lib/csv_plus_plus/language/benchmarked_compiler.rb
138
+ - lib/csv_plus_plus/language/builtins.rb
118
139
  - lib/csv_plus_plus/language/cell_value.tab.rb
119
140
  - lib/csv_plus_plus/language/code_section.tab.rb
120
141
  - lib/csv_plus_plus/language/compiler.rb
@@ -145,6 +166,7 @@ files:
145
166
  - lib/csv_plus_plus/writer/base_writer.rb
146
167
  - lib/csv_plus_plus/writer/csv.rb
147
168
  - lib/csv_plus_plus/writer/excel.rb
169
+ - lib/csv_plus_plus/writer/file_backer_upper.rb
148
170
  - lib/csv_plus_plus/writer/google_sheet_builder.rb
149
171
  - lib/csv_plus_plus/writer/google_sheet_modifier.rb
150
172
  - lib/csv_plus_plus/writer/google_sheets.rb
@@ -155,13 +177,13 @@ homepage: https://github.com/patrickomatic/csv-plus-plus
155
177
  licenses:
156
178
  - MIT
157
179
  metadata:
158
- rubygems_mfa_required: 'true'
159
180
  bug_tracker_uri: https://github.com/patrickomatic/csv-plus-plus/issues
160
181
  documentation_uri: https://www.rubydoc.info/gems/csv_plus_plus/
161
- github_repo: git://github.com/patrickomatic/csv_plus_plus
162
- homepage_uri: https://github.com/patrickomatic/csv_plus_plus
163
- source_code_uri: https://github.com/patrickomatic/csv_plus_plus
164
- changelog_uri: https://github.com/patrickomatic/csv_plus_plus/blob/main/CHANGELOG.md
182
+ github_repo: git://github.com/patrickomatic/csv-plus-plus
183
+ homepage_uri: https://github.com/patrickomatic/csv-plus-plus
184
+ source_code_uri: https://github.com/patrickomatic/csv-plus-plus
185
+ changelog_uri: https://github.com/patrickomatic/csv-plus-plus/blob/main/CHANGELOG.md
186
+ rubygems_mfa_required: 'true'
165
187
  post_install_message:
166
188
  rdoc_options: []
167
189
  require_paths: