gloo 0.6.1 → 0.7.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.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/gloo/app/args.rb +48 -6
  4. data/lib/gloo/app/engine.rb +58 -39
  5. data/lib/gloo/app/help.rb +126 -25
  6. data/lib/gloo/app/info.rb +3 -1
  7. data/lib/gloo/app/log.rb +23 -0
  8. data/lib/gloo/app/mode.rb +2 -0
  9. data/lib/gloo/app/settings.rb +75 -68
  10. data/lib/gloo/convert/converter.rb +35 -0
  11. data/lib/gloo/convert/string_to_datetime.rb +1 -1
  12. data/lib/gloo/convert/string_to_decimal.rb +1 -1
  13. data/lib/gloo/convert/string_to_integer.rb +1 -1
  14. data/lib/gloo/core/dictionary.rb +99 -22
  15. data/lib/gloo/core/error.rb +19 -8
  16. data/lib/gloo/core/event_manager.rb +4 -0
  17. data/lib/gloo/core/factory.rb +11 -0
  18. data/lib/gloo/core/gloo_system.rb +1 -1
  19. data/lib/gloo/core/heap.rb +11 -3
  20. data/lib/gloo/core/it.rb +6 -0
  21. data/lib/gloo/core/literal.rb +5 -0
  22. data/lib/gloo/core/obj.rb +14 -0
  23. data/lib/gloo/core/op.rb +7 -0
  24. data/lib/gloo/core/parser.rb +6 -0
  25. data/lib/gloo/core/pn.rb +36 -0
  26. data/lib/gloo/core/tokens.rb +66 -22
  27. data/lib/gloo/core/verb.rb +4 -0
  28. data/lib/gloo/exec/exec_env.rb +13 -1
  29. data/lib/gloo/expr/expression.rb +26 -4
  30. data/lib/gloo/expr/l_boolean.rb +6 -0
  31. data/lib/gloo/expr/l_decimal.rb +5 -0
  32. data/lib/gloo/expr/l_integer.rb +7 -0
  33. data/lib/gloo/expr/l_string.rb +7 -0
  34. data/lib/gloo/expr/op_div.rb +2 -0
  35. data/lib/gloo/expr/op_minus.rb +2 -0
  36. data/lib/gloo/expr/op_mult.rb +2 -0
  37. data/lib/gloo/expr/op_plus.rb +2 -0
  38. data/lib/gloo/help/app/application.txt +22 -0
  39. data/lib/gloo/help/app/configuration.txt +7 -0
  40. data/lib/gloo/help/app/default_help.txt +14 -0
  41. data/lib/gloo/help/app/logging.txt +16 -0
  42. data/lib/gloo/help/core/color.txt +31 -0
  43. data/lib/gloo/help/core/error.txt +33 -0
  44. data/lib/gloo/help/core/events.txt +21 -0
  45. data/lib/gloo/help/core/gloo_system.txt +54 -0
  46. data/lib/gloo/help/core/here.txt +30 -0
  47. data/lib/gloo/help/core/it.txt +23 -0
  48. data/lib/gloo/help/core/ops.txt +16 -0
  49. data/lib/gloo/help/core/pathname.txt +29 -0
  50. data/lib/gloo/help/objs/basic/alias.txt +36 -0
  51. data/lib/gloo/help/objs/basic/boolean.txt +28 -0
  52. data/lib/gloo/help/objs/basic/container.txt +33 -0
  53. data/lib/gloo/help/objs/basic/decimal.txt +28 -0
  54. data/lib/gloo/help/objs/basic/integer.txt +27 -0
  55. data/lib/gloo/help/objs/basic/script.txt +29 -0
  56. data/lib/gloo/help/objs/basic/string.txt +28 -0
  57. data/lib/gloo/help/objs/basic/text.txt +27 -0
  58. data/lib/gloo/help/objs/basic/untyped.txt +22 -0
  59. data/lib/gloo/help/objs/cli/banner.txt +49 -0
  60. data/lib/gloo/help/objs/cli/bar.txt +34 -0
  61. data/lib/gloo/help/objs/cli/colorize.txt +33 -0
  62. data/lib/gloo/help/objs/cli/confirm.txt +26 -0
  63. data/lib/gloo/help/objs/cli/menu.txt +44 -0
  64. data/lib/gloo/help/objs/cli/menu_item.txt +26 -0
  65. data/lib/gloo/help/objs/cli/pastel.txt +43 -0
  66. data/lib/gloo/help/objs/cli/prompt.txt +27 -0
  67. data/lib/gloo/help/objs/cli/select.txt +34 -0
  68. data/lib/gloo/help/objs/ctrl/each.txt +48 -0
  69. data/lib/gloo/help/objs/ctrl/repeat.txt +38 -0
  70. data/lib/gloo/help/objs/data/markdown.txt +25 -0
  71. data/lib/gloo/help/objs/data/table.txt +46 -0
  72. data/lib/gloo/help/objs/dev/git_repo.txt +35 -0
  73. data/lib/gloo/help/objs/dt/date.txt +23 -0
  74. data/lib/gloo/help/objs/dt/datetime.txt +24 -0
  75. data/lib/gloo/help/objs/dt/time.txt +23 -0
  76. data/lib/gloo/help/objs/ror/erb.txt +37 -0
  77. data/lib/gloo/help/objs/ror/eval.txt +24 -0
  78. data/lib/gloo/help/objs/snd/play.txt +23 -0
  79. data/lib/gloo/help/objs/snd/say.txt +28 -0
  80. data/lib/gloo/help/objs/system/file.txt +41 -0
  81. data/lib/gloo/help/objs/system/system.txt +32 -0
  82. data/lib/gloo/help/objs/web/http_get.txt +35 -0
  83. data/lib/gloo/help/objs/web/http_post.txt +32 -0
  84. data/lib/gloo/help/objs/web/json.txt +34 -0
  85. data/lib/gloo/help/objs/web/slack.txt +33 -0
  86. data/lib/gloo/help/objs/web/teams.txt +30 -0
  87. data/lib/gloo/help/objs/web/uri.txt +37 -0
  88. data/lib/gloo/help/verbs/alert.txt +33 -0
  89. data/lib/gloo/help/verbs/beep.txt +25 -0
  90. data/lib/gloo/help/verbs/cls.txt +24 -0
  91. data/lib/gloo/help/verbs/context.txt +43 -0
  92. data/lib/gloo/help/verbs/create.txt +33 -0
  93. data/lib/gloo/help/verbs/help.txt +34 -0
  94. data/lib/gloo/help/verbs/if.txt +37 -0
  95. data/lib/gloo/help/verbs/list.txt +34 -0
  96. data/lib/gloo/help/verbs/load.txt +38 -0
  97. data/lib/gloo/help/verbs/move.txt +42 -0
  98. data/lib/gloo/help/verbs/put.txt +38 -0
  99. data/lib/gloo/help/verbs/quit.txt +25 -0
  100. data/lib/gloo/help/verbs/run.txt +41 -0
  101. data/lib/gloo/help/verbs/save.txt +26 -0
  102. data/lib/gloo/help/verbs/show.txt +30 -0
  103. data/lib/gloo/help/verbs/tell.txt +34 -0
  104. data/lib/gloo/help/verbs/unless.txt +38 -0
  105. data/lib/gloo/help/verbs/version.txt +32 -0
  106. data/lib/gloo/help/verbs/wait.txt +29 -0
  107. data/lib/gloo/objs/basic/alias.rb +0 -33
  108. data/lib/gloo/objs/basic/boolean.rb +6 -27
  109. data/lib/gloo/objs/basic/container.rb +0 -33
  110. data/lib/gloo/objs/basic/decimal.rb +8 -28
  111. data/lib/gloo/objs/basic/integer.rb +5 -26
  112. data/lib/gloo/objs/basic/script.rb +0 -26
  113. data/lib/gloo/objs/basic/string.rb +6 -26
  114. data/lib/gloo/objs/basic/text.rb +0 -25
  115. data/lib/gloo/objs/basic/untyped.rb +0 -26
  116. data/lib/gloo/objs/cli/banner.rb +0 -29
  117. data/lib/gloo/objs/cli/bar.rb +0 -29
  118. data/lib/gloo/objs/cli/colorize.rb +4 -34
  119. data/lib/gloo/objs/cli/confirm.rb +6 -36
  120. data/lib/gloo/objs/cli/menu.rb +4 -34
  121. data/lib/gloo/objs/cli/menu_item.rb +0 -33
  122. data/lib/gloo/objs/cli/pastel.rb +4 -27
  123. data/lib/gloo/objs/cli/prompt.rb +4 -28
  124. data/lib/gloo/objs/cli/select.rb +4 -31
  125. data/lib/gloo/objs/ctrl/each.rb +33 -33
  126. data/lib/gloo/objs/ctrl/repeat.rb +8 -29
  127. data/lib/gloo/objs/data/markdown.rb +0 -25
  128. data/lib/gloo/objs/data/table.rb +4 -32
  129. data/lib/gloo/objs/dev/git.rb +12 -30
  130. data/lib/gloo/objs/dt/date.rb +3 -25
  131. data/lib/gloo/objs/dt/datetime.rb +4 -26
  132. data/lib/gloo/objs/dt/time.rb +3 -25
  133. data/lib/gloo/objs/ror/erb.rb +11 -45
  134. data/lib/gloo/objs/ror/eval.rb +11 -38
  135. data/lib/gloo/objs/snd/play.rb +2 -25
  136. data/lib/gloo/objs/snd/say.rb +9 -31
  137. data/lib/gloo/objs/system/file_handle.rb +0 -38
  138. data/lib/gloo/objs/system/system.rb +16 -46
  139. data/lib/gloo/objs/web/http_get.rb +57 -83
  140. data/lib/gloo/objs/web/http_post.rb +8 -31
  141. data/lib/gloo/objs/web/json.rb +11 -31
  142. data/lib/gloo/objs/web/slack.rb +7 -34
  143. data/lib/gloo/objs/web/teams.rb +13 -48
  144. data/lib/gloo/objs/web/uri.rb +0 -29
  145. data/lib/gloo/persist/file_loader.rb +8 -0
  146. data/lib/gloo/persist/file_saver.rb +6 -0
  147. data/lib/gloo/persist/file_storage.rb +2 -0
  148. data/lib/gloo/persist/line_splitter.rb +2 -0
  149. data/lib/gloo/persist/persist_man.rb +6 -0
  150. data/lib/gloo/verbs/alert.rb +30 -44
  151. data/lib/gloo/verbs/beep.rb +0 -30
  152. data/lib/gloo/verbs/cls.rb +0 -30
  153. data/lib/gloo/verbs/context.rb +9 -39
  154. data/lib/gloo/verbs/create.rb +17 -32
  155. data/lib/gloo/verbs/help.rb +151 -115
  156. data/lib/gloo/verbs/if.rb +46 -44
  157. data/lib/gloo/verbs/list.rb +36 -54
  158. data/lib/gloo/verbs/load.rb +8 -37
  159. data/lib/gloo/verbs/move.rb +12 -51
  160. data/lib/gloo/verbs/put.rb +28 -52
  161. data/lib/gloo/verbs/quit.rb +0 -31
  162. data/lib/gloo/verbs/run.rb +23 -39
  163. data/lib/gloo/verbs/save.rb +0 -33
  164. data/lib/gloo/verbs/show.rb +6 -31
  165. data/lib/gloo/verbs/tell.rb +31 -31
  166. data/lib/gloo/verbs/unless.rb +47 -46
  167. data/lib/gloo/verbs/version.rb +0 -30
  168. data/lib/gloo/verbs/wait.rb +0 -31
  169. metadata +72 -3
  170. data/lib/gloo/help/help.md +0 -16
@@ -0,0 +1,48 @@
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
@@ -0,0 +1,38 @@
1
+ REPEAT OBJECT TYPE
2
+ NAME: repeat
3
+ SHORTCUT: repeat
4
+
5
+ DESCRIPTION
6
+ Run a script a given number of times.
7
+
8
+ CHILDREN
9
+ times integer - 0
10
+ The number of times to run the script.
11
+ index integer - 0
12
+ The current iteration when the repeat loop is running.
13
+ do - script - none
14
+ The action we want to perform for iteration of the loop.
15
+
16
+ MESSAGES
17
+ run - Run the script for the given number of times.
18
+
19
+ EXAMPLE
20
+
21
+ repeat [can] :
22
+ s [string] :
23
+ on_load [script] :
24
+ put $.screen_cols / 2 into repeat.x.times
25
+ tell repeat.x to run
26
+ show repeat.s
27
+ tell repeat.y to run
28
+ show repeat.s
29
+ x [repeat] :
30
+ times [integer] : 30
31
+ index [integer] : 0
32
+ do [script] : put repeat.s + '-' into repeat.s
33
+ y [repeat] :
34
+ times [integer] : 10
35
+ index [integer] : 0
36
+ do [script] : show repeat.y.index
37
+
38
+ SEE ALSO
@@ -0,0 +1,25 @@
1
+ MARKDOWN OBJECT TYPE
2
+ NAME: markdown
3
+ SHORTCUT: md
4
+
5
+ DESCRIPTION
6
+ Markdown data in a text string.
7
+
8
+ CHILDREN
9
+ None
10
+
11
+ MESSAGES
12
+ show - Show the markdown data in the terminal.
13
+ page - Show the markdown data in the terminal, paginated.
14
+
15
+ EXAMPLE
16
+
17
+ md [can] :
18
+ f [file] :
19
+ on_load [script] :
20
+ put $.gloo.projects + "/o/data/txt.md" into md.f
21
+ tell md.f to read (md.data)
22
+ tell md.data to show
23
+ data [md] :
24
+
25
+ SEE ALSO
@@ -0,0 +1,46 @@
1
+ TABLE OBJECT TYPE
2
+ NAME: table
3
+ SHORTCUT: tbl
4
+
5
+ DESCRIPTION
6
+ A data table.
7
+
8
+ CHILDREN
9
+ headers - container
10
+ A list of headers.
11
+ The name of the header object needs to be the same as the
12
+ name of the object in the data container.
13
+ The value of the header is what will be displayed.
14
+ data - container
15
+ The table's data.
16
+ The data container will have one or more containers, each
17
+ of which represents one row of data.
18
+
19
+ MESSAGES
20
+ show - Show the contents of the table in the CLI.
21
+
22
+ EXAMPLE
23
+
24
+ t [tbl] :
25
+ on_load [script] :
26
+ tell t to show
27
+ headers [can] :
28
+ name : Name
29
+ phone : Tel
30
+ notes : Notes
31
+ data [alias] : table_data
32
+ table_data [can] :
33
+ 1 [can] :
34
+ name : Joe
35
+ phone : 312-555-1212
36
+ notes : Play golf with Joe
37
+ 2 [can] :
38
+ name : Sally
39
+ phone : 708-555-1212
40
+ notes : met Sally at the meetup last week
41
+ 3 [can] :
42
+ name : Frank
43
+ phone : 312-555-1213
44
+ notes : Frank Lee Speaking
45
+
46
+ SEE ALSO
@@ -0,0 +1,35 @@
1
+ GIT OBJECT TYPE
2
+ NAME: git_repo
3
+ SHORTCUT: git
4
+
5
+ DESCRIPTION
6
+ Reference to a git repository in the file system.
7
+ The value of the git_repo objectd is a string.
8
+ There are no children needed.
9
+
10
+ CHILDREN
11
+ None
12
+
13
+ MESSAGES
14
+ validate - Validate that this is a git repo.
15
+ check_changes - Check to see if there are any pending changes.
16
+ get_changes - Get the list of pending changes.
17
+ commit - Commit changes.
18
+ get_branch - Get the current branch.
19
+
20
+ EXAMPLE
21
+
22
+ changes [can] :
23
+ on_load [script] :
24
+ show "Finding repos with local changes..."
25
+ put $.user.home + "/dev" into changes.for.in
26
+ run changes.for
27
+ show "Done."
28
+ for [each] :
29
+ repo [git] :
30
+ in [string] :
31
+ do [script] :
32
+ tell changes.for.repo to check_changes
33
+ if it then show changes.for.repo
34
+
35
+ SEE ALSO
@@ -0,0 +1,23 @@
1
+ DATE OBJECT TYPE
2
+ NAME: date
3
+ SHORTCUT: date
4
+
5
+ DESCRIPTION
6
+ A reference to a date, but without time.
7
+
8
+ CHILDREN
9
+ None
10
+
11
+ MESSAGES
12
+ now - Set to the current system date.
13
+
14
+ EXAMPLE
15
+
16
+ time [can] :
17
+ t [time] :
18
+ on_load [script] :
19
+ tell time.t to now
20
+ show time.t
21
+
22
+ SEE ALSO
23
+ datetime, time
@@ -0,0 +1,24 @@
1
+ DATETIME OBJECT TYPE
2
+ NAME: datetime
3
+ SHORTCUT: dt
4
+
5
+ DESCRIPTION
6
+ A reference to a date and time.
7
+
8
+ CHILDREN
9
+ None
10
+
11
+ MESSAGES
12
+ now - Set to the current system date and time.
13
+
14
+ EXAMPLE
15
+
16
+ dt [can] :
17
+ d [datetime] :
18
+ on_load [script] :
19
+ tell dt.d to now
20
+ show dt.d
21
+ next [script] : put '1 week from now' into dt.d
22
+
23
+ SEE ALSO
24
+ date, time
@@ -0,0 +1,23 @@
1
+ TIME OBJECT TYPE
2
+ NAME: time
3
+ SHORTCUT: time
4
+
5
+ DESCRIPTION
6
+ A reference to a time, but without a date.
7
+
8
+ CHILDREN
9
+ None
10
+
11
+ MESSAGES
12
+ now - Set to the current system time.
13
+
14
+ EXAMPLE
15
+
16
+ date [can] :
17
+ d [date] :
18
+ on_load [script] :
19
+ tell date.d to now
20
+ show date.d
21
+
22
+ SEE ALSO
23
+ date, datetime
@@ -0,0 +1,37 @@
1
+ ERB OBJECT TYPE
2
+ NAME: erb
3
+ SHORTCUT: erb
4
+
5
+ DESCRIPTION
6
+ Use the ERB templating system to generate content.
7
+
8
+ CHILDREN
9
+ template - text
10
+ The template that will be used the the ERB object is run.
11
+ params - container
12
+ The collection of children values that will be used
13
+ when the template object is rendered.
14
+ result - text
15
+ The result of the template rendering.
16
+
17
+ MESSAGES
18
+ run - Render the result based on the template and the
19
+ parameter values.
20
+
21
+ EXAMPLE
22
+
23
+ e [can] :
24
+ erb [erb] :
25
+ template [text] : BEGIN
26
+ Hello <%= first %> <%= last %>!
27
+ END
28
+ params [container] :
29
+ first [string] : Eric
30
+ last [string] : Crane
31
+ result [text] :
32
+ on_load [script] :
33
+ run e.erb
34
+ show e.erb.result
35
+
36
+ SEE ALSO
37
+ eval, system
@@ -0,0 +1,24 @@
1
+ EVAL OBJECT TYPE
2
+ NAME: eval
3
+ SHORTCUT: ruby
4
+
5
+ DESCRIPTION
6
+ Execute a ruby expression.
7
+
8
+ CHILDREN
9
+ command - string
10
+ The ruby expression or command that will be run.
11
+ result - string
12
+ The result of the command or expression after it is run.
13
+
14
+ MESSAGES
15
+ run - Execute the ruby command and update the result.
16
+
17
+ EXAMPLE
18
+
19
+ eval [ruby] :
20
+ command [string] : 3 * 7
21
+ result [string] : 21
22
+
23
+ SEE ALSO
24
+ system, erb
@@ -0,0 +1,23 @@
1
+ PLAY OBJECT TYPE
2
+ NAME: play
3
+ SHORTCUT: play
4
+
5
+ DESCRIPTION
6
+ Play an audio file, an MP3 for example.
7
+ The value of the play object is the path to the audio file.
8
+
9
+ CHILDREN
10
+ None.
11
+
12
+ MESSAGES
13
+ run - Play the audio file.
14
+
15
+ EXAMPLE
16
+
17
+ play [can] :
18
+ snd [play] : ~/path/to/snd.mp3
19
+ on_load [script] :
20
+ run play.snd
21
+
22
+ SEE ALSO
23
+ say, beep
@@ -0,0 +1,28 @@
1
+ SAY OBJECT TYPE
2
+ NAME: say
3
+ SHORTCUT: say
4
+
5
+ DESCRIPTION
6
+ Use the Mac text to speech function to convert text to audio.
7
+ From the Mac CLI, run this to get a list of voices:
8
+ say -v '?'
9
+
10
+ CHILDREN
11
+ voice - string
12
+ The Voice to use. If left blank, the default voice will be used.
13
+ message - string - 'talk to me'
14
+ The message to speak.
15
+
16
+ MESSAGES
17
+ run - Speak the message, optionally in the voice specified.
18
+
19
+ EXAMPLE
20
+
21
+ say [say] :
22
+ voice [string] : Moira
23
+ message [string] : So long, and thanks for all the fish!
24
+ on_load [script] :
25
+ tell say to run
26
+
27
+ SEE ALSO
28
+ play, beep
@@ -0,0 +1,41 @@
1
+ FILE OBJECT TYPE
2
+ NAME: file
3
+ SHORTCUT: dir
4
+
5
+ DESCRIPTION
6
+ Reference to a file or folder (directory) on disk.
7
+ The string value of the file object is the path and name
8
+ of the file.
9
+
10
+ CHILDREN
11
+ None.
12
+
13
+ MESSAGES
14
+ read <into.obj> - Read file and put data in the specified object.
15
+ If the <into.obj> is not specified, the data will be in <it>.
16
+ write <from.obj> - Write the data in the <from.object> into
17
+ the file.
18
+ show - Show the contents of the file.
19
+ page - Show the contents of the file, paginated
20
+ open - Open the file with the default application for the type.
21
+ check_exists - Check to see if the file exists.
22
+ <It> will be true or false.
23
+ check_is_file - Check to see if the file specified is a
24
+ regular file. <It> will be true or false.
25
+ check_is_dir - Check to see if the file specified is a
26
+ diretory. <It> will be true or false.
27
+
28
+ EXAMPLE
29
+
30
+ exists [can] :
31
+ f [file] : /Users/me/tmp
32
+ on_load [script] :
33
+ show "Checking to see if file exists: " + exists.f
34
+ tell exists.f to check_exists
35
+ show it
36
+ tell exists.f to check_is_dir
37
+ show "is a directory? " + it
38
+ tell exists.f to check_is_file
39
+ show "is a file? " + it
40
+
41
+ SEE ALSO
@@ -0,0 +1,32 @@
1
+ SYSTEM OBJECT TYPE
2
+ NAME: system
3
+ SHORTCUT: sys
4
+
5
+ DESCRIPTION
6
+ Execute a system command.
7
+
8
+ CHILDREN
9
+ command - string - 'date'
10
+ The command that will be sent to the system.
11
+ get_output - boolean - true
12
+ Should executing the command get the output and put it
13
+ in the result object?
14
+ result - string
15
+ The result of running the command.
16
+ The result will only be set if the 'get_output' child
17
+ is set to true.
18
+
19
+ MESSAGES
20
+ run - Run the system level command.
21
+ Set the result value to the output of the command if the
22
+ 'get_output' child is marked as true.
23
+
24
+ EXAMPLE
25
+
26
+ date [system] :
27
+ command [string] : date
28
+ get_output [bool] : true
29
+ result [string] :
30
+
31
+ SEE ALSO
32
+ eval, erb