gloo-lang 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/lib/VERSION +1 -1
  6. data/lib/gloo_lang/app/engine.rb +1 -12
  7. metadata +4 -81
  8. data/Gemfile.lock +0 -68
  9. data/lib/gloo_lang/app/help.rb +0 -118
  10. data/lib/gloo_lang/help/app/application.txt +0 -22
  11. data/lib/gloo_lang/help/app/configuration.txt +0 -7
  12. data/lib/gloo_lang/help/app/default_help.txt +0 -14
  13. data/lib/gloo_lang/help/app/logging.txt +0 -16
  14. data/lib/gloo_lang/help/core/color.txt +0 -31
  15. data/lib/gloo_lang/help/core/error.txt +0 -33
  16. data/lib/gloo_lang/help/core/events.txt +0 -21
  17. data/lib/gloo_lang/help/core/gloo_system.txt +0 -57
  18. data/lib/gloo_lang/help/core/here.txt +0 -30
  19. data/lib/gloo_lang/help/core/it.txt +0 -23
  20. data/lib/gloo_lang/help/core/ops.txt +0 -16
  21. data/lib/gloo_lang/help/core/pathname.txt +0 -29
  22. data/lib/gloo_lang/help/objs/basic/alias.txt +0 -36
  23. data/lib/gloo_lang/help/objs/basic/boolean.txt +0 -28
  24. data/lib/gloo_lang/help/objs/basic/container.txt +0 -33
  25. data/lib/gloo_lang/help/objs/basic/decimal.txt +0 -28
  26. data/lib/gloo_lang/help/objs/basic/integer.txt +0 -27
  27. data/lib/gloo_lang/help/objs/basic/script.txt +0 -29
  28. data/lib/gloo_lang/help/objs/basic/string.txt +0 -28
  29. data/lib/gloo_lang/help/objs/basic/text.txt +0 -27
  30. data/lib/gloo_lang/help/objs/basic/untyped.txt +0 -22
  31. data/lib/gloo_lang/help/objs/cli/banner.txt +0 -49
  32. data/lib/gloo_lang/help/objs/cli/bar.txt +0 -37
  33. data/lib/gloo_lang/help/objs/cli/colorize.txt +0 -33
  34. data/lib/gloo_lang/help/objs/cli/confirm.txt +0 -26
  35. data/lib/gloo_lang/help/objs/cli/menu.txt +0 -44
  36. data/lib/gloo_lang/help/objs/cli/menu_item.txt +0 -26
  37. data/lib/gloo_lang/help/objs/cli/pastel.txt +0 -43
  38. data/lib/gloo_lang/help/objs/cli/prompt.txt +0 -27
  39. data/lib/gloo_lang/help/objs/cli/select.txt +0 -34
  40. data/lib/gloo_lang/help/objs/ctrl/each.txt +0 -48
  41. data/lib/gloo_lang/help/objs/ctrl/repeat.txt +0 -38
  42. data/lib/gloo_lang/help/objs/data/markdown.txt +0 -25
  43. data/lib/gloo_lang/help/objs/data/mysql.txt +0 -40
  44. data/lib/gloo_lang/help/objs/data/query.txt +0 -37
  45. data/lib/gloo_lang/help/objs/data/sqlite.txt +0 -26
  46. data/lib/gloo_lang/help/objs/data/table.txt +0 -46
  47. data/lib/gloo_lang/help/objs/dev/git_repo.txt +0 -36
  48. data/lib/gloo_lang/help/objs/dev/stats.txt +0 -36
  49. data/lib/gloo_lang/help/objs/dt/date.txt +0 -23
  50. data/lib/gloo_lang/help/objs/dt/datetime.txt +0 -24
  51. data/lib/gloo_lang/help/objs/dt/time.txt +0 -23
  52. data/lib/gloo_lang/help/objs/ror/erb.txt +0 -37
  53. data/lib/gloo_lang/help/objs/ror/eval.txt +0 -24
  54. data/lib/gloo_lang/help/objs/snd/play.txt +0 -23
  55. data/lib/gloo_lang/help/objs/snd/say.txt +0 -28
  56. data/lib/gloo_lang/help/objs/system/file.txt +0 -48
  57. data/lib/gloo_lang/help/objs/system/ssh_exec.txt +0 -30
  58. data/lib/gloo_lang/help/objs/system/system.txt +0 -32
  59. data/lib/gloo_lang/help/objs/web/http_get.txt +0 -35
  60. data/lib/gloo_lang/help/objs/web/http_post.txt +0 -34
  61. data/lib/gloo_lang/help/objs/web/json.txt +0 -34
  62. data/lib/gloo_lang/help/objs/web/slack.txt +0 -33
  63. data/lib/gloo_lang/help/objs/web/teams.txt +0 -30
  64. data/lib/gloo_lang/help/objs/web/uri.txt +0 -38
  65. data/lib/gloo_lang/help/verbs/alert.txt +0 -33
  66. data/lib/gloo_lang/help/verbs/beep.txt +0 -25
  67. data/lib/gloo_lang/help/verbs/cls.txt +0 -24
  68. data/lib/gloo_lang/help/verbs/context.txt +0 -43
  69. data/lib/gloo_lang/help/verbs/create.txt +0 -33
  70. data/lib/gloo_lang/help/verbs/execute.txt +0 -27
  71. data/lib/gloo_lang/help/verbs/help.txt +0 -34
  72. data/lib/gloo_lang/help/verbs/if.txt +0 -37
  73. data/lib/gloo_lang/help/verbs/list.txt +0 -34
  74. data/lib/gloo_lang/help/verbs/load.txt +0 -38
  75. data/lib/gloo_lang/help/verbs/move.txt +0 -42
  76. data/lib/gloo_lang/help/verbs/put.txt +0 -38
  77. data/lib/gloo_lang/help/verbs/quit.txt +0 -25
  78. data/lib/gloo_lang/help/verbs/run.txt +0 -41
  79. data/lib/gloo_lang/help/verbs/save.txt +0 -26
  80. data/lib/gloo_lang/help/verbs/show.txt +0 -30
  81. data/lib/gloo_lang/help/verbs/tell.txt +0 -34
  82. data/lib/gloo_lang/help/verbs/unless.txt +0 -38
  83. data/lib/gloo_lang/help/verbs/version.txt +0 -32
  84. data/lib/gloo_lang/help/verbs/wait.txt +0 -29
  85. data/lib/gloo_lang/verbs/help.rb +0 -264
  86. data/lib/gloo_lang/verbs/version.rb +0 -37
@@ -1,29 +0,0 @@
1
- PATHNAME
2
-
3
- DESCRIPTION
4
- All gloo object data and scripts are stored in a heap of objects or
5
- just "the heap". The heap is hierarchical, with some objects having
6
- children objects. To reference an object, we use a "pathname". The
7
- pathname starts with the root level object then has a period, ".",
8
- then the child object name, and so forth. "a.b.c" refers to the "c"
9
- object in the "b" container, which is in the "a" container.
10
-
11
- ROOT
12
- The word "root" is not needed when referring to objects. In some
13
- special cases, "root" can be used to point to the first level of
14
- the object heap. One such use would be with the "context" verb.
15
-
16
- EXAMPLE
17
- Here is an example of objects and a pathname reference to an
18
- object within the hierarchy:
19
-
20
- #
21
- # Hierarchical containers.
22
- #
23
- a [can] :
24
- b [can] :
25
- c [string] : Hello World
26
- on_load [script] : show a.b.c
27
-
28
- SEE ALSO
29
- context
@@ -1,36 +0,0 @@
1
- ALIAS OBJECT TYPE
2
- NAME: alias
3
- SHORTCUT: ln
4
-
5
- DESCRIPTION
6
- A pointer to another object.
7
- Normal path-name references will refere to the aliased object.
8
- To refer to the alias itself, add an * at the end of the path-name.
9
- This is neeed, for example, to set the value of the alias.
10
- The value of the alias is merely the path-name of the
11
- referenced object.
12
-
13
- CHILDREN
14
- None
15
-
16
- MESSAGES
17
- The alias will reflect the mesages of the object to which
18
- it points.
19
- The alias itself can receive the following message:
20
- resolve - Check to see if the object referenced exists.
21
- Sets it to true or false.
22
-
23
- EXAMPLE
24
-
25
- a [can] :
26
- s [string] : a string
27
- i [integer] : 13
28
- ln [alias] : a.s
29
- on_load [script] :
30
- show a.ln
31
- show a.ln*
32
- put 'a.i' into a.ln*
33
- put 7 into a.ln
34
- show a.ln
35
-
36
- SEE ALSO
@@ -1,28 +0,0 @@
1
- BOOLEAN OBJECT TYPE
2
- NAME: boolean
3
- SHORTCUT: bool
4
-
5
- DESCRIPTION
6
- A boolean value.
7
- Value will be either true or false.
8
-
9
- CHILDREN
10
- None
11
-
12
- MESSAGES
13
- not - Set the boolean to the opposite of what it is now.
14
- true - Set the boolean to true.
15
- false - Set the boolean to false.
16
-
17
- EXAMPLE
18
-
19
- b [can] :
20
- flag [boolean] : true
21
- on_load [script] :
22
- show b.flag
23
- put false into b.flag
24
- show b.flag
25
- tell b.flag to not
26
- show b.flag
27
-
28
- SEE ALSO
@@ -1,33 +0,0 @@
1
- CONTAINER OBJECT TYPE
2
- NAME: container
3
- SHORTCUT: can
4
-
5
- DESCRIPTION
6
- A container of other objects.
7
- A container is similar to a folder in a file system.
8
- It can contain any number of objects including other containers.
9
- The container structure provides direct access to any object
10
- within it through the object.object.object path-name structure.
11
-
12
- CHILDREN
13
- None by default. But any container can have any number of
14
- objects added to it.
15
-
16
- MESSAGES
17
- count - Count the number of children objects in the container.
18
- The result is put in <it>.
19
- delete_children - Delete all children objects from the container.
20
- show_key_value_tbl - Show a table with key (name) and values
21
- for all children in the container.
22
-
23
- EXAMPLE
24
-
25
- can [can] :
26
- data [can] :
27
- 1 : one
28
- 2 : two
29
- 3 : three
30
- on_load [script] :
31
- tell can.data to show_key_value_table
32
-
33
- SEE ALSO
@@ -1,28 +0,0 @@
1
- DECIMAL OBJECT TYPE
2
- NAME: decimal
3
- SHORTCUT: num
4
-
5
- DESCRIPTION
6
- A decimal (numeric) value.
7
-
8
- CHILDREN
9
- None
10
-
11
- MESSAGES
12
- round - Round to the nearest whole value.
13
- If an optional parameter is included, round to the
14
- precision specified.
15
-
16
- EXAMPLE
17
-
18
- d [can] :
19
- x [decimal] : 100
20
- on_load [script] :
21
- show d.x
22
- put d.x / 3 into d.x
23
- show d.x
24
- tell d.x to round (1)
25
- show d.x
26
-
27
- SEE ALSO
28
- integer
@@ -1,27 +0,0 @@
1
- INTEGER OBJECT TYPE
2
- NAME: integer
3
- SHORTCUT: int
4
-
5
- DESCRIPTION
6
- An integer (numeric) value.
7
-
8
- CHILDREN
9
- None
10
-
11
- MESSAGES
12
- inc - Increment the integer value by 1.
13
- dec - Decrement the integer value by 1.
14
-
15
- EXAMPLE
16
-
17
- i [can] :
18
- x [integer] : 0
19
- on_load [script] :
20
- show i.x
21
- tell i.x to inc
22
- show i.x
23
- put i.x * 10 into i.x
24
- show i.x
25
-
26
- SEE ALSO
27
- decimal
@@ -1,29 +0,0 @@
1
- SCRIPT OBJECT TYPE
2
- NAME: script
3
- SHORTCUT: cmd
4
-
5
- DESCRIPTION
6
- An exectutable script.
7
-
8
- CHILDREN
9
- None
10
-
11
- MESSAGES
12
- run - Run the script.
13
- The script can be run by telling the object or run.
14
- It can all be executed with the run verb.
15
-
16
- EXAMPLE
17
-
18
- script [can] :
19
- on_load [script] :
20
- show "Showing multiple lines..."
21
- show script.msg1
22
- show script.msg2
23
- show script.msg3
24
- show "Done."
25
- msg1 [string] : one
26
- msg2 [string] : two
27
- msg3 [string] : three
28
-
29
- SEE ALSO
@@ -1,28 +0,0 @@
1
- STRING OBJECT TYPE
2
- NAME: string
3
- SHORTCUT: str
4
-
5
- DESCRIPTION
6
- A string value.
7
-
8
- CHILDREN
9
- None
10
-
11
- MESSAGES
12
- up - Convert the string to uppercase.
13
- down - Convert the string to lowercase.
14
- size - Get the size of the string.
15
-
16
- EXAMPLE
17
-
18
- s [can] :
19
- msg [string] : Hello World!
20
- on_load [script] :
21
- show s.msg
22
- tell s.msg to up
23
- show s.msg
24
- tell s.msg to size
25
- show it
26
-
27
- SEE ALSO
28
- text
@@ -1,27 +0,0 @@
1
- TEXT OBJECT TYPE
2
- NAME: text
3
- SHORTCUT: txt
4
-
5
- DESCRIPTION
6
- A longer, multi-line text string.
7
- Use BEGIN and END to mark the text range.
8
-
9
- CHILDREN
10
- None
11
-
12
- MESSAGES
13
- edit - Edit the text field in the default editor.
14
- page - Show the text, paginated.
15
-
16
- EXAMPLE
17
-
18
- t [container] :
19
- msg [txt] : BEGIN
20
- I will now write a poem
21
- of two lines or less
22
- END
23
- on_load [script] :
24
- show t.msg
25
-
26
- SEE ALSO
27
- string
@@ -1,22 +0,0 @@
1
- UNTYPED OBJECT TYPE
2
- NAME: untyped
3
- SHORTCUT: un
4
-
5
- DESCRIPTION
6
- An untyped object.
7
- If no type is specified when an object is created it
8
- will be of this type.
9
-
10
- CHILDREN
11
- None
12
-
13
- MESSAGES
14
- None
15
-
16
- EXAMPLE
17
-
18
- > create x
19
- > put 1 into x
20
- > put 'string' into x
21
-
22
- SEE ALSO
@@ -1,49 +0,0 @@
1
- BANNER OBJECT TYPE
2
- NAME: banner
3
- SHORTCUT: ban
4
-
5
- DESCRIPTION
6
- Banner text in large, colored font.
7
-
8
- CHILDREN
9
- text - string
10
- The text for the banner.
11
- style - string
12
- The banner style. See tty-font for options.
13
- color - string
14
- The color for the banner. See pastel for options.
15
-
16
- MESSAGES
17
- show - Show the text banner.
18
-
19
- EXAMPLE
20
-
21
- ban [can] :
22
- on_load [script] :
23
- tell ban.one to show
24
- tell ban.two to show
25
- tell ban.three to show
26
- tell ban.four to show
27
- tell ban.five to show
28
- one [banner] :
29
- text [string] : Something New
30
- style [string] : standard
31
- color [string] : white on_green
32
- two [banner] :
33
- text [string] : Star Wars
34
- style [string] : starwars
35
- color [string] : red
36
- three [banner] :
37
- text [string] : Many_Dimensions
38
- style [string] : 3d
39
- color [string] : blue
40
- four [banner] :
41
- text [string] : As An Arrow
42
- style [string] : straight
43
- color [string] : yellow
44
- five [banner] :
45
- text [string] : Cranium
46
- style [string] : block
47
- color [string] : white on_yellow
48
-
49
- SEE ALSO
@@ -1,37 +0,0 @@
1
- BAR OBJECT TYPE
2
- NAME: bar
3
- SHORTCUT: bar
4
-
5
- DESCRIPTION
6
- CLI progress bar
7
-
8
- CHILDREN
9
- name - string
10
- The name of the progress bar.
11
- total - integer - 100
12
- The total for the bar.
13
-
14
- MESSAGES
15
- start - Start the bar.
16
- advance <amount> - Advance by the given amount.
17
- stop - Complete the bar.
18
- run <seconds> - Run for the given number of seconds
19
- and advance the bar so that it completes at the end
20
- of the time specified.
21
-
22
- EXAMPLE
23
-
24
- bar [can] :
25
- on_load [script] :
26
- tell bar.progress to start
27
- tell bar.progress to advance
28
- wait
29
- tell bar.progress to advance (30)
30
- wait
31
- tell bar.progress to advance (40)
32
- wait
33
- tell bar.progress to stop
34
- progress [bar] :
35
- name [string] : going
36
-
37
- SEE ALSO
@@ -1,33 +0,0 @@
1
- COLORIZE OBJECT TYPE
2
- NAME: colorize
3
- SHORTCUT: color
4
-
5
- DESCRIPTION
6
- The Colorize object can be used to write output in color.
7
- The Colorize container can contain multiple strings, each
8
- one can have a different color as specified by the names
9
- of the children.
10
-
11
- CHILDREN
12
- <color> - string - no default value
13
- The name of the child or children is the color.
14
- The string's value is what will be written out.
15
-
16
- MESSAGES
17
- run - Output the string in the color specified.
18
-
19
- EXAMPLE
20
-
21
- color [can] :
22
- w [colorize] :
23
- white [string] : This is white!
24
- m [colorize] :
25
- red [string] : red -
26
- green [string] : green -
27
- blue [string] : blue
28
- on_load [script] :
29
- run color.w
30
- run color.m
31
-
32
- SEE ALSO
33
- pastel
@@ -1,26 +0,0 @@
1
- CONFIRM OBJECT TYPE
2
- NAME: confirm
3
- SHORTCUT: confirm
4
-
5
- DESCRIPTION
6
- CLI confirmation prompt.
7
-
8
- CHILDREN
9
- prompt - string - '> '
10
- The confirmation prompt.
11
- result - boolean - none
12
- The result of the prompt.
13
-
14
- MESSAGES
15
- run - Prompt the user and then set the result.
16
-
17
- EXAMPLE
18
-
19
- confirm [confirm] :
20
- prompt [string] : Are you sure?
21
- result [boolean] :
22
- on_load [script] :
23
- run confirm
24
- show 'Confirmed: ' + confirm.result
25
-
26
- SEE ALSO
@@ -1,44 +0,0 @@
1
- MENU OBJECT TYPE
2
- NAME: menu
3
- SHORTCUT: menu
4
-
5
- DESCRIPTION
6
- A CLI menu.
7
- This can be used for the main loop of a CLI application.
8
-
9
- CHILDREN
10
- prompt - string - '> '
11
- The shortcut may be used to select the menu item.
12
- items - container
13
- A textual description of the menu item action.
14
- loop - boolean
15
- The script that will be run if the menu item is selected.
16
- default - script
17
- Optional script element. Run this if no other option selected.
18
-
19
- MESSAGES
20
- run - Show the options and the the prompt.
21
- Then run the script for the user's selection.
22
- Optionally repeat as long as the loop child is true.
23
-
24
- EXAMPLE
25
-
26
- menu [menu] :
27
- on_load [script] :
28
- run menu
29
- prompt [string] : >
30
- loop [bool] : true
31
- items [can] :
32
- hw [mitem] :
33
- shortcut [str] : hw
34
- description [str] : Run Hello World
35
- do [script] :
36
- show 'Hello World!'
37
- q [mitem] :
38
- shortcut [str] : q
39
- description [str] : Quit this menu
40
- do [script] :
41
- put false into menu.loop
42
-
43
- SEE ALSO
44
- menu_item
@@ -1,26 +0,0 @@
1
- MENU_ITEM OBJECT TYPE
2
- NAME: menu_item
3
- SHORTCUT: mitem
4
-
5
- DESCRIPTION
6
- A CLI menu item. One element in a CLI menu.
7
-
8
- CHILDREN
9
- shortcut - string
10
- The shortcut may be used to select the menu item.
11
- The shortcut child is optional. If it is not provided,
12
- the name of the menu item will be used instead.
13
- description - string
14
- A textual description of the menu item action.
15
- The description child is optional. If it is not provided,
16
- the value of the menu item will be used instead.
17
- do - script
18
- The script that will be run if the menu item is selected.
19
-
20
- MESSAGES
21
- None
22
-
23
- EXAMPLE
24
-
25
- SEE ALSO
26
- menu
@@ -1,43 +0,0 @@
1
- PASTEL OBJECT TYPE
2
- NAME: pastel
3
- SHORTCUT: pastel
4
-
5
- DESCRIPTION
6
- Show colorized text with the pastel gem.
7
-
8
- CHILDREN
9
- text - string
10
- The text that will be colorized.
11
- color - string
12
- The colors. See pastel for options.
13
-
14
- MESSAGES
15
- show - Show the colorized text.
16
-
17
- EXAMPLE
18
-
19
- pastel [can] :
20
- on_load [script] :
21
- tell pastel.one to show
22
- tell pastel.two to show
23
- tell pastel.three to show
24
- tell pastel.four to show
25
- tell pastel.five to show
26
- one [pastel] :
27
- text [string] : Something New
28
- color [string] : white on_green
29
- two [pastel] :
30
- text [string] : Star Wars
31
- color [string] : red
32
- three [pastel] :
33
- text [string] : Many_Dimensions
34
- color [string] : blue
35
- four [pastel] :
36
- text [string] : As An Arrow
37
- color [string] : yellow on_blue
38
- five [pastel] :
39
- text [string] : Cranium
40
- color [string] : white on_yellow
41
-
42
- SEE ALSO
43
- colorize
@@ -1,27 +0,0 @@
1
- PROMPT OBJECT TYPE
2
- NAME: prompt
3
- SHORTCUT: ask
4
-
5
- DESCRIPTION
6
- CLI prompt for user input.
7
-
8
- CHILDREN
9
- prompt - string - '> '
10
- The prompt displayed to the user.
11
- result - string - none
12
- The result with the user's input.
13
-
14
- MESSAGES
15
- run - Prompt the user and then set the result.
16
- multiline - Show a multiline prompt.
17
-
18
- EXAMPLE
19
-
20
- ask [ask] :
21
- prompt [string] : What is your name?
22
- result [string] :
23
- on_load [script] :
24
- run ask
25
- show 'Hello, ' + ask.result + '! Thanks for playing'
26
-
27
- SEE ALSO
@@ -1,34 +0,0 @@
1
- SELECT OBJECT TYPE
2
- NAME: select
3
- SHORTCUT: sel
4
-
5
- DESCRIPTION
6
- Prompt for user to select from a list of options.
7
-
8
- CHILDREN
9
- prompt - string - '> '
10
- The prompt displayed to the user.
11
- options - container
12
- The list of options for the selection list.
13
- The name of each option will be presented to the user, but
14
- the value will be put in the result.
15
- result - string - none
16
- The result with the user's selection.
17
-
18
- MESSAGES
19
- run - Prompt the user for a selection and then set the result.
20
-
21
- EXAMPLE
22
-
23
- select [select] :
24
- prompt [string] : What is your favorite color?
25
- options [can] :
26
- red : r
27
- green : g
28
- blue : b
29
- result [string] :
30
- on_load [script] :
31
- run select
32
- show select.result
33
-
34
- SEE ALSO
@@ -1,48 +0,0 @@
1
- EACH OBJECT TYPE
2
- NAME: each
3
- SHORTCUT: each
4
-
5
- DESCRIPTION
6
- Perform an action for each item in a collection.
7
-
8
- CHILDREN
9
- child | word | line | repo - string - none
10
- The entity we want to loop for.
11
- It will hold the current value while the script is running.
12
- in - string - none
13
- The collection we will iterate in.
14
- In the case of <word> or <line> this will be a string or text.
15
- In the case of <repo> this will be the root path.
16
- do - script - none
17
- The action we want to perform for each found item.
18
-
19
- MESSAGES
20
- run - Look through the collecion and perform this for each
21
- found item.
22
-
23
- EXAMPLE
24
-
25
- #
26
- # Show each child in a container.
27
- #
28
-
29
- for [each] :
30
- child [alias] :
31
- in [alias] : objs
32
- do [script] : show for.child
33
- objs [can] :
34
- 1 [string] : one
35
- 2 [string] : two
36
- 3 [string] : three
37
-
38
- #
39
- # Show each word in a string.
40
- #
41
-
42
- for [each] :
43
- word [string] :
44
- in [string] : one word at a time
45
- do [script] : show for.word
46
-
47
-
48
- SEE ALSO