gloo 5.1.0 → 5.3.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.
- checksums.yaml +4 -4
- data/lib/VERSION +1 -1
- data/lib/VERSION_NOTES +19 -1
- data/lib/gloo/app/args.rb +9 -0
- data/lib/gloo/app/engine.rb +48 -2
- data/lib/gloo/app/mode.rb +1 -1
- data/lib/gloo/core/it.rb +14 -0
- data/lib/gloo/core/obj.rb +22 -1
- data/lib/gloo/core/obj_finder.rb +21 -0
- data/lib/gloo/expr/op_eq.rb +5 -0
- data/lib/gloo/objs/basic/string.rb +5 -228
- data/lib/gloo/objs/basic/string_msgs.rb +269 -0
- data/lib/gloo/objs/basic/text.rb +7 -1
- data/lib/gloo/objs/ctrl/each.rb +2 -0
- data/lib/gloo/objs/ctrl/each_dir.rb +72 -0
- data/lib/gloo/objs/dt/date.rb +32 -1
- data/lib/gloo/objs/dt/time.rb +33 -1
- data/lib/gloo/persist/disc_mech.rb +10 -1
- data/lib/gloo/persist/persist_man.rb +11 -2
- data/lib/gloo/plugin/ext_manager.rb +5 -0
- data/lib/gloo/plugin/lib_manager.rb +6 -0
- data/lib/gloo/verbs/eval.rb +43 -0
- data/lib/gloo/verbs/exists.rb +13 -0
- data/lib/gloo/verbs/reload.rb +2 -0
- data/lib/gloo/verbs/unload.rb +1 -0
- data/test.gloo/basic.test.gloo +53 -0
- data/test.gloo/dt/date.test.gloo +76 -0
- data/test.gloo/dt/time.test.gloo +76 -0
- data/test.gloo/lang/gloo_sys.test.gloo +91 -0
- data/test.gloo/lang/ops.test.gloo +79 -0
- data/test.gloo/math/add.test.gloo +46 -0
- data/test.gloo/math/div.test.gloo +37 -0
- data/test.gloo/math/mult.test.gloo +37 -0
- data/test.gloo/math/sub.test.gloo +37 -0
- data/test.gloo/objs/bool.test.gloo +60 -0
- data/test.gloo/objs/can.test.gloo +47 -0
- data/test.gloo/objs/int.test.gloo +56 -0
- data/test.gloo/objs/obj.test.gloo +52 -0
- data/test.gloo/objs/script.test.gloo +23 -0
- data/test.gloo/objs/text.test.gloo +84 -0
- data/test.gloo/objs/untyped.test.gloo +25 -0
- data/test.gloo/string/str.test.gloo +118 -0
- data/test.gloo/string/str_gen.test.gloo +76 -0
- data/test.gloo/verbs/break.test.gloo +22 -0
- data/test.gloo/verbs/check.test.gloo +35 -0
- data/test.gloo/verbs/eval.test.gloo +19 -0
- data/test.gloo/verbs/exists.test.gloo +49 -0
- data/test.gloo/verbs/if.test.gloo +16 -0
- data/test.gloo/verbs/log.test.gloo +14 -0
- data/test.gloo/verbs/move.test.gloo +20 -0
- data/test.gloo/verbs/put.test.gloo +19 -0
- data/test.gloo/verbs/run.test.gloo +16 -0
- data/test.gloo/verbs/tell.test.gloo +16 -0
- metadata +33 -3
- data/lib/gloo/objs/system/eval.rb +0 -107
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: 5.
|
|
4
|
+
version: 5.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eric Crane
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-03-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -348,10 +348,12 @@ files:
|
|
|
348
348
|
- lib/gloo/objs/basic/script.rb
|
|
349
349
|
- lib/gloo/objs/basic/string.rb
|
|
350
350
|
- lib/gloo/objs/basic/string_generator.rb
|
|
351
|
+
- lib/gloo/objs/basic/string_msgs.rb
|
|
351
352
|
- lib/gloo/objs/basic/text.rb
|
|
352
353
|
- lib/gloo/objs/basic/untyped.rb
|
|
353
354
|
- lib/gloo/objs/ctrl/each.rb
|
|
354
355
|
- lib/gloo/objs/ctrl/each_child.rb
|
|
356
|
+
- lib/gloo/objs/ctrl/each_dir.rb
|
|
355
357
|
- lib/gloo/objs/ctrl/each_file.rb
|
|
356
358
|
- lib/gloo/objs/ctrl/each_line.rb
|
|
357
359
|
- lib/gloo/objs/ctrl/each_word.rb
|
|
@@ -366,7 +368,6 @@ files:
|
|
|
366
368
|
- lib/gloo/objs/str_utils/outline.rb
|
|
367
369
|
- lib/gloo/objs/str_utils/password.rb
|
|
368
370
|
- lib/gloo/objs/system/erb.rb
|
|
369
|
-
- lib/gloo/objs/system/eval.rb
|
|
370
371
|
- lib/gloo/objs/system/file_handle.rb
|
|
371
372
|
- lib/gloo/objs/system/system.rb
|
|
372
373
|
- lib/gloo/objs/web/http_get.rb
|
|
@@ -390,6 +391,7 @@ files:
|
|
|
390
391
|
- lib/gloo/verbs/cls.rb
|
|
391
392
|
- lib/gloo/verbs/context.rb
|
|
392
393
|
- lib/gloo/verbs/create.rb
|
|
394
|
+
- lib/gloo/verbs/eval.rb
|
|
393
395
|
- lib/gloo/verbs/execute.rb
|
|
394
396
|
- lib/gloo/verbs/exists.rb
|
|
395
397
|
- lib/gloo/verbs/files.rb
|
|
@@ -413,6 +415,34 @@ files:
|
|
|
413
415
|
- lib/gloo/verbs/version.rb
|
|
414
416
|
- lib/gloo/verbs/wait.rb
|
|
415
417
|
- lib/run.rb
|
|
418
|
+
- test.gloo/basic.test.gloo
|
|
419
|
+
- test.gloo/dt/date.test.gloo
|
|
420
|
+
- test.gloo/dt/time.test.gloo
|
|
421
|
+
- test.gloo/lang/gloo_sys.test.gloo
|
|
422
|
+
- test.gloo/lang/ops.test.gloo
|
|
423
|
+
- test.gloo/math/add.test.gloo
|
|
424
|
+
- test.gloo/math/div.test.gloo
|
|
425
|
+
- test.gloo/math/mult.test.gloo
|
|
426
|
+
- test.gloo/math/sub.test.gloo
|
|
427
|
+
- test.gloo/objs/bool.test.gloo
|
|
428
|
+
- test.gloo/objs/can.test.gloo
|
|
429
|
+
- test.gloo/objs/int.test.gloo
|
|
430
|
+
- test.gloo/objs/obj.test.gloo
|
|
431
|
+
- test.gloo/objs/script.test.gloo
|
|
432
|
+
- test.gloo/objs/text.test.gloo
|
|
433
|
+
- test.gloo/objs/untyped.test.gloo
|
|
434
|
+
- test.gloo/string/str.test.gloo
|
|
435
|
+
- test.gloo/string/str_gen.test.gloo
|
|
436
|
+
- test.gloo/verbs/break.test.gloo
|
|
437
|
+
- test.gloo/verbs/check.test.gloo
|
|
438
|
+
- test.gloo/verbs/eval.test.gloo
|
|
439
|
+
- test.gloo/verbs/exists.test.gloo
|
|
440
|
+
- test.gloo/verbs/if.test.gloo
|
|
441
|
+
- test.gloo/verbs/log.test.gloo
|
|
442
|
+
- test.gloo/verbs/move.test.gloo
|
|
443
|
+
- test.gloo/verbs/put.test.gloo
|
|
444
|
+
- test.gloo/verbs/run.test.gloo
|
|
445
|
+
- test.gloo/verbs/tell.test.gloo
|
|
416
446
|
homepage: http://github.com/ecrane/gloo
|
|
417
447
|
licenses:
|
|
418
448
|
- MIT
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
# Author:: Eric Crane (mailto:eric.crane@mac.com)
|
|
2
|
-
# Copyright:: Copyright (c) 2019 Eric Crane. All rights reserved.
|
|
3
|
-
#
|
|
4
|
-
# An object that evaluate a ruby statement.
|
|
5
|
-
#
|
|
6
|
-
|
|
7
|
-
module Gloo
|
|
8
|
-
module Objs
|
|
9
|
-
class Eval < Gloo::Core::Obj
|
|
10
|
-
|
|
11
|
-
KEYWORD = 'eval'.freeze
|
|
12
|
-
KEYWORD_SHORT = 'ruby'.freeze
|
|
13
|
-
CMD = 'command'.freeze
|
|
14
|
-
DEFAULT_CMD = '1+2'.freeze
|
|
15
|
-
RESULT = 'result'.freeze
|
|
16
|
-
|
|
17
|
-
#
|
|
18
|
-
# The name of the object type.
|
|
19
|
-
#
|
|
20
|
-
def self.typename
|
|
21
|
-
return KEYWORD
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
#
|
|
25
|
-
# The short name of the object type.
|
|
26
|
-
#
|
|
27
|
-
def self.short_typename
|
|
28
|
-
return KEYWORD_SHORT
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
#
|
|
32
|
-
# Get the URI from the child object.
|
|
33
|
-
# Returns nil if there is none.
|
|
34
|
-
#
|
|
35
|
-
def cmd_value
|
|
36
|
-
cmd = find_child CMD
|
|
37
|
-
return nil unless cmd
|
|
38
|
-
|
|
39
|
-
return cmd.value
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
#
|
|
43
|
-
# Set the result of the system call.
|
|
44
|
-
#
|
|
45
|
-
def set_result( data )
|
|
46
|
-
r = find_child RESULT
|
|
47
|
-
return nil unless r
|
|
48
|
-
|
|
49
|
-
r.set_value data
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
# ---------------------------------------------------------------------
|
|
53
|
-
# Children
|
|
54
|
-
# ---------------------------------------------------------------------
|
|
55
|
-
|
|
56
|
-
#
|
|
57
|
-
# Does this object have children to add when an object
|
|
58
|
-
# is created in interactive mode?
|
|
59
|
-
# This does not apply during obj load, etc.
|
|
60
|
-
#
|
|
61
|
-
def add_children_on_create?
|
|
62
|
-
return true
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
#
|
|
66
|
-
# Add children to this object.
|
|
67
|
-
# This is used by containers to add children needed
|
|
68
|
-
# for default configurations.
|
|
69
|
-
#
|
|
70
|
-
def add_default_children
|
|
71
|
-
fac = @engine.factory
|
|
72
|
-
fac.create_string CMD, DEFAULT_CMD, self
|
|
73
|
-
fac.create_string RESULT, nil, self
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
# ---------------------------------------------------------------------
|
|
77
|
-
# Messages
|
|
78
|
-
# ---------------------------------------------------------------------
|
|
79
|
-
|
|
80
|
-
#
|
|
81
|
-
# Get a list of message names that this object receives.
|
|
82
|
-
#
|
|
83
|
-
def self.messages
|
|
84
|
-
return super + [ 'run' ]
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
#
|
|
88
|
-
# Run the command and evaluate the expression.
|
|
89
|
-
#
|
|
90
|
-
def msg_run
|
|
91
|
-
cmd = cmd_value
|
|
92
|
-
return unless cmd
|
|
93
|
-
|
|
94
|
-
begin
|
|
95
|
-
# rubocop:disable Security/Eval
|
|
96
|
-
result = eval cmd
|
|
97
|
-
# rubocop:enable Security/Eval
|
|
98
|
-
set_result result
|
|
99
|
-
@engine.heap.it.set_to result
|
|
100
|
-
rescue => e
|
|
101
|
-
@engine.log_exception e
|
|
102
|
-
end
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
end
|
|
106
|
-
end
|
|
107
|
-
end
|