gloo 0.3.0 → 0.5.3

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