gloo 0.3.0 → 0.5.3

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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/.rubocop.yml +73 -0
  4. data/Gemfile +2 -2
  5. data/Gemfile.lock +86 -83
  6. data/Rakefile +7 -6
  7. data/bin/console +4 -4
  8. data/gloo.gemspec +22 -18
  9. data/lib/gloo.rb +6 -6
  10. data/lib/gloo/app/args.rb +30 -31
  11. data/lib/gloo/app/engine.rb +80 -30
  12. data/lib/gloo/app/help.rb +17 -11
  13. data/lib/gloo/app/info.rb +3 -3
  14. data/lib/gloo/app/log.rb +17 -17
  15. data/lib/gloo/app/mode.rb +4 -4
  16. data/lib/gloo/app/settings.rb +51 -41
  17. data/lib/gloo/convert/string_to_datetime.rb +21 -0
  18. data/lib/gloo/convert/string_to_decimal.rb +20 -0
  19. data/lib/gloo/convert/string_to_integer.rb +20 -0
  20. data/lib/gloo/core/baseo.rb +7 -7
  21. data/lib/gloo/core/dictionary.rb +30 -27
  22. data/lib/gloo/core/error.rb +50 -0
  23. data/lib/gloo/core/event_manager.rb +17 -23
  24. data/lib/gloo/core/factory.rb +149 -39
  25. data/lib/gloo/core/gloo_system.rb +121 -54
  26. data/lib/gloo/core/heap.rb +15 -13
  27. data/lib/gloo/core/it.rb +5 -5
  28. data/lib/gloo/core/literal.rb +7 -7
  29. data/lib/gloo/core/obj.rb +138 -79
  30. data/lib/gloo/core/obj_finder.rb +9 -14
  31. data/lib/gloo/core/op.rb +8 -8
  32. data/lib/gloo/core/parser.rb +27 -26
  33. data/lib/gloo/core/pn.rb +68 -52
  34. data/lib/gloo/core/script.rb +7 -7
  35. data/lib/gloo/core/tokens.rb +39 -41
  36. data/lib/gloo/core/verb.rb +30 -19
  37. data/lib/gloo/exec/dispatch.rb +30 -0
  38. data/lib/gloo/exec/runner.rb +43 -0
  39. data/lib/gloo/expr/expression.rb +36 -43
  40. data/lib/gloo/expr/l_boolean.rb +7 -6
  41. data/lib/gloo/expr/l_decimal.rb +34 -0
  42. data/lib/gloo/expr/l_integer.rb +5 -4
  43. data/lib/gloo/expr/l_string.rb +13 -15
  44. data/lib/gloo/expr/op_div.rb +5 -5
  45. data/lib/gloo/expr/op_minus.rb +5 -5
  46. data/lib/gloo/expr/op_mult.rb +5 -5
  47. data/lib/gloo/expr/op_plus.rb +7 -7
  48. data/lib/gloo/objs/basic/alias.rb +111 -0
  49. data/lib/gloo/objs/basic/boolean.rb +63 -38
  50. data/lib/gloo/objs/basic/container.rb +71 -12
  51. data/lib/gloo/objs/basic/decimal.rb +96 -0
  52. data/lib/gloo/objs/basic/integer.rb +45 -16
  53. data/lib/gloo/objs/basic/script.rb +62 -38
  54. data/lib/gloo/objs/basic/string.rb +47 -15
  55. data/lib/gloo/objs/basic/text.rb +69 -21
  56. data/lib/gloo/objs/basic/untyped.rb +35 -10
  57. data/lib/gloo/objs/cli/banner.rb +137 -0
  58. data/lib/gloo/objs/cli/bar.rb +141 -0
  59. data/lib/gloo/objs/cli/colorize.rb +54 -24
  60. data/lib/gloo/objs/cli/confirm.rb +63 -29
  61. data/lib/gloo/objs/cli/menu.rb +236 -0
  62. data/lib/gloo/objs/cli/menu_item.rb +128 -0
  63. data/lib/gloo/objs/cli/pastel.rb +120 -0
  64. data/lib/gloo/objs/cli/prompt.rb +73 -31
  65. data/lib/gloo/objs/cli/select.rb +153 -0
  66. data/lib/gloo/objs/ctrl/each.rb +128 -61
  67. data/lib/gloo/objs/ctrl/repeat.rb +129 -0
  68. data/lib/gloo/objs/data/markdown.rb +109 -0
  69. data/lib/gloo/objs/data/table.rb +168 -0
  70. data/lib/gloo/objs/dev/git.rb +98 -64
  71. data/lib/gloo/objs/dt/date.rb +72 -0
  72. data/lib/gloo/objs/dt/datetime.rb +84 -0
  73. data/lib/gloo/objs/dt/time.rb +72 -0
  74. data/lib/gloo/objs/ror/erb.rb +82 -41
  75. data/lib/gloo/objs/ror/eval.rb +73 -31
  76. data/lib/gloo/objs/snd/play.rb +71 -0
  77. data/lib/gloo/objs/snd/say.rb +120 -0
  78. data/lib/gloo/objs/system/file_handle.rb +129 -48
  79. data/lib/gloo/objs/system/system.rb +84 -38
  80. data/lib/gloo/objs/web/http_get.rb +103 -46
  81. data/lib/gloo/objs/web/http_post.rb +70 -44
  82. data/lib/gloo/objs/web/json.rb +155 -0
  83. data/lib/gloo/objs/web/slack.rb +89 -58
  84. data/lib/gloo/objs/web/teams.rb +88 -53
  85. data/lib/gloo/objs/web/uri.rb +160 -0
  86. data/lib/gloo/persist/file_loader.rb +95 -85
  87. data/lib/gloo/persist/file_saver.rb +12 -12
  88. data/lib/gloo/persist/file_storage.rb +15 -15
  89. data/lib/gloo/persist/line_splitter.rb +79 -0
  90. data/lib/gloo/persist/persist_man.rb +63 -39
  91. data/lib/gloo/utils/words.rb +2 -2
  92. data/lib/gloo/verbs/alert.rb +67 -16
  93. data/lib/gloo/verbs/beep.rb +70 -0
  94. data/lib/gloo/verbs/cls.rb +67 -0
  95. data/lib/gloo/verbs/context.rb +61 -21
  96. data/lib/gloo/verbs/create.rb +52 -21
  97. data/lib/gloo/verbs/help.rb +186 -27
  98. data/lib/gloo/verbs/if.rb +55 -21
  99. data/lib/gloo/verbs/list.rb +55 -24
  100. data/lib/gloo/verbs/load.rb +47 -12
  101. data/lib/gloo/verbs/move.rb +128 -0
  102. data/lib/gloo/verbs/put.rb +90 -34
  103. data/lib/gloo/verbs/quit.rb +43 -12
  104. data/lib/gloo/verbs/run.rb +63 -18
  105. data/lib/gloo/verbs/save.rb +45 -10
  106. data/lib/gloo/verbs/show.rb +56 -22
  107. data/lib/gloo/verbs/tell.rb +45 -13
  108. data/lib/gloo/verbs/unless.rb +56 -21
  109. data/lib/gloo/verbs/version.rb +42 -12
  110. data/lib/gloo/verbs/wait.rb +73 -0
  111. data/lib/run.rb +5 -5
  112. metadata +90 -12
data/lib/run.rb CHANGED
@@ -1,13 +1,13 @@
1
1
  #
2
2
  # The following can be used to run the application in CLI mode
3
3
  # in development and use source rather than the gem.
4
- #
4
+ #
5
5
  # From the /lib/ directory: ruby run.rb
6
- #
6
+ #
7
7
  path = File.dirname( File.absolute_path( __FILE__ ) )
8
- root = File.join( path, "gloo", "**/*.rb" )
8
+ root = File.join( path, 'gloo', '**/*.rb' )
9
9
  Dir.glob( root ) { |ruby_file| require ruby_file }
10
10
 
11
11
  params = []
12
- ( params << "--cli" ) if ARGV.count == 0
13
- Gloo::App::Engine.new( params ).start
12
+ ( params << '--cli' ) if ARGV.count.zero?
13
+ Gloo::App::Engine.new( params ).start
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gloo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Crane
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-13 00:00:00.000000000 Z
11
+ date: 2020-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -25,33 +25,39 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.16'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '5.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '5.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: minitest
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '5.0'
47
+ version: '13.0'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 13.0.1
48
51
  type: :development
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
55
  - - "~>"
53
56
  - !ruby/object:Gem::Version
54
- version: '5.0'
57
+ version: '13.0'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 13.0.1
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: activesupport
57
63
  requirement: !ruby/object:Gem::Requirement
@@ -61,7 +67,7 @@ dependencies:
61
67
  version: '5.2'
62
68
  - - ">="
63
69
  - !ruby/object:Gem::Version
64
- version: 5.2.1
70
+ version: 5.2.4.3
65
71
  type: :runtime
66
72
  prerelease: false
67
73
  version_requirements: !ruby/object:Gem::Requirement
@@ -71,7 +77,7 @@ dependencies:
71
77
  version: '5.2'
72
78
  - - ">="
73
79
  - !ruby/object:Gem::Version
74
- version: 5.2.1
80
+ version: 5.2.4.3
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: chronic
77
83
  requirement: !ruby/object:Gem::Requirement
@@ -93,7 +99,7 @@ dependencies:
93
99
  - !ruby/object:Gem::Version
94
100
  version: 0.10.2
95
101
  - !ruby/object:Gem::Dependency
96
- name: tty
102
+ name: colorize
97
103
  requirement: !ruby/object:Gem::Requirement
98
104
  requirements:
99
105
  - - "~>"
@@ -113,7 +119,7 @@ dependencies:
113
119
  - !ruby/object:Gem::Version
114
120
  version: 0.8.1
115
121
  - !ruby/object:Gem::Dependency
116
- name: colorize
122
+ name: tty
117
123
  requirement: !ruby/object:Gem::Requirement
118
124
  requirements:
119
125
  - - "~>"
@@ -132,6 +138,46 @@ dependencies:
132
138
  - - ">="
133
139
  - !ruby/object:Gem::Version
134
140
  version: 0.8.1
141
+ - !ruby/object:Gem::Dependency
142
+ name: json
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '2.1'
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: 2.1.0
151
+ type: :runtime
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '2.1'
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: 2.1.0
161
+ - !ruby/object:Gem::Dependency
162
+ name: openssl
163
+ requirement: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: '2.1'
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: 2.1.0
171
+ type: :runtime
172
+ prerelease: false
173
+ version_requirements: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - "~>"
176
+ - !ruby/object:Gem::Version
177
+ version: '2.1'
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: 2.1.0
135
181
  description: A scripting languge to keep it all together.
136
182
  email:
137
183
  - eric.crane@mac.com
@@ -141,7 +187,9 @@ executables:
141
187
  extensions: []
142
188
  extra_rdoc_files: []
143
189
  files:
190
+ - ".DS_Store"
144
191
  - ".gitignore"
192
+ - ".rubocop.yml"
145
193
  - ".travis.yml"
146
194
  - CODE_OF_CONDUCT.md
147
195
  - Gemfile
@@ -162,8 +210,12 @@ files:
162
210
  - lib/gloo/app/log.rb
163
211
  - lib/gloo/app/mode.rb
164
212
  - lib/gloo/app/settings.rb
213
+ - lib/gloo/convert/string_to_datetime.rb
214
+ - lib/gloo/convert/string_to_decimal.rb
215
+ - lib/gloo/convert/string_to_integer.rb
165
216
  - lib/gloo/core/baseo.rb
166
217
  - lib/gloo/core/dictionary.rb
218
+ - lib/gloo/core/error.rb
167
219
  - lib/gloo/core/event_manager.rb
168
220
  - lib/gloo/core/factory.rb
169
221
  - lib/gloo/core/gloo_system.rb
@@ -178,46 +230,71 @@ files:
178
230
  - lib/gloo/core/script.rb
179
231
  - lib/gloo/core/tokens.rb
180
232
  - lib/gloo/core/verb.rb
233
+ - lib/gloo/exec/dispatch.rb
234
+ - lib/gloo/exec/runner.rb
181
235
  - lib/gloo/expr/expression.rb
182
236
  - lib/gloo/expr/l_boolean.rb
237
+ - lib/gloo/expr/l_decimal.rb
183
238
  - lib/gloo/expr/l_integer.rb
184
239
  - lib/gloo/expr/l_string.rb
185
240
  - lib/gloo/expr/op_div.rb
186
241
  - lib/gloo/expr/op_minus.rb
187
242
  - lib/gloo/expr/op_mult.rb
188
243
  - lib/gloo/expr/op_plus.rb
244
+ - lib/gloo/objs/basic/alias.rb
189
245
  - lib/gloo/objs/basic/boolean.rb
190
246
  - lib/gloo/objs/basic/container.rb
247
+ - lib/gloo/objs/basic/decimal.rb
191
248
  - lib/gloo/objs/basic/integer.rb
192
249
  - lib/gloo/objs/basic/script.rb
193
250
  - lib/gloo/objs/basic/string.rb
194
251
  - lib/gloo/objs/basic/text.rb
195
252
  - lib/gloo/objs/basic/untyped.rb
253
+ - lib/gloo/objs/cli/banner.rb
254
+ - lib/gloo/objs/cli/bar.rb
196
255
  - lib/gloo/objs/cli/colorize.rb
197
256
  - lib/gloo/objs/cli/confirm.rb
257
+ - lib/gloo/objs/cli/menu.rb
258
+ - lib/gloo/objs/cli/menu_item.rb
259
+ - lib/gloo/objs/cli/pastel.rb
198
260
  - lib/gloo/objs/cli/prompt.rb
261
+ - lib/gloo/objs/cli/select.rb
199
262
  - lib/gloo/objs/ctrl/each.rb
263
+ - lib/gloo/objs/ctrl/repeat.rb
264
+ - lib/gloo/objs/data/markdown.rb
265
+ - lib/gloo/objs/data/table.rb
200
266
  - lib/gloo/objs/dev/git.rb
267
+ - lib/gloo/objs/dt/date.rb
268
+ - lib/gloo/objs/dt/datetime.rb
269
+ - lib/gloo/objs/dt/time.rb
201
270
  - lib/gloo/objs/ror/erb.rb
202
271
  - lib/gloo/objs/ror/eval.rb
272
+ - lib/gloo/objs/snd/play.rb
273
+ - lib/gloo/objs/snd/say.rb
203
274
  - lib/gloo/objs/system/file_handle.rb
204
275
  - lib/gloo/objs/system/system.rb
205
276
  - lib/gloo/objs/web/http_get.rb
206
277
  - lib/gloo/objs/web/http_post.rb
278
+ - lib/gloo/objs/web/json.rb
207
279
  - lib/gloo/objs/web/slack.rb
208
280
  - lib/gloo/objs/web/teams.rb
281
+ - lib/gloo/objs/web/uri.rb
209
282
  - lib/gloo/persist/file_loader.rb
210
283
  - lib/gloo/persist/file_saver.rb
211
284
  - lib/gloo/persist/file_storage.rb
285
+ - lib/gloo/persist/line_splitter.rb
212
286
  - lib/gloo/persist/persist_man.rb
213
287
  - lib/gloo/utils/words.rb
214
288
  - lib/gloo/verbs/alert.rb
289
+ - lib/gloo/verbs/beep.rb
290
+ - lib/gloo/verbs/cls.rb
215
291
  - lib/gloo/verbs/context.rb
216
292
  - lib/gloo/verbs/create.rb
217
293
  - lib/gloo/verbs/help.rb
218
294
  - lib/gloo/verbs/if.rb
219
295
  - lib/gloo/verbs/list.rb
220
296
  - lib/gloo/verbs/load.rb
297
+ - lib/gloo/verbs/move.rb
221
298
  - lib/gloo/verbs/put.rb
222
299
  - lib/gloo/verbs/quit.rb
223
300
  - lib/gloo/verbs/run.rb
@@ -226,6 +303,7 @@ files:
226
303
  - lib/gloo/verbs/tell.rb
227
304
  - lib/gloo/verbs/unless.rb
228
305
  - lib/gloo/verbs/version.rb
306
+ - lib/gloo/verbs/wait.rb
229
307
  - lib/run.rb
230
308
  homepage: http://github.com/ecrane/gloo
231
309
  licenses: