csv_plus_plus 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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: