mysh 0.6.9 → 0.6.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +25 -5
- data/lib/mysh.rb +19 -9
- data/lib/mysh/{internal/action.rb → action.rb} +8 -8
- data/lib/mysh/{internal/action_pool.rb → action_pool.rb} +8 -8
- data/lib/mysh/{internal/actions/command_line.rb → command_line.rb} +10 -10
- data/lib/mysh/{internal/actions/command_line → command_line}/debug.rb +9 -11
- data/lib/mysh/command_line/history.rb +61 -0
- data/lib/mysh/{internal/actions/command_line → command_line}/init.rb +8 -8
- data/lib/mysh/{internal/actions/command_line → command_line}/load.rb +5 -5
- data/lib/mysh/{internal/actions/command_line → command_line}/pause.rb +6 -8
- data/lib/mysh/{internal/actions/command_line → command_line}/post_prompt.rb +10 -12
- data/lib/mysh/{internal/actions/command_line → command_line}/pre_prompt.rb +10 -12
- data/lib/mysh/{internal/actions/command_line → command_line}/prompt.rb +9 -10
- data/lib/mysh/command_line/quit.rb +19 -0
- data/lib/mysh/{internal/actions/command_line → command_line}/usage.rb +4 -4
- data/lib/mysh/expression.rb +11 -31
- data/lib/mysh/external.rb +4 -5
- data/lib/mysh/globalize.rb +14 -10
- data/lib/mysh/handlebars.rb +10 -13
- data/lib/mysh/handlebars/eval_handlebars.rb +38 -0
- data/lib/mysh/{internal/actions/help → help}/env.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/expr.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/gem.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/gls.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/h_o_h.txt +1 -1
- data/lib/mysh/{internal/actions/help → help}/hbar.txt +11 -0
- data/lib/mysh/{internal/actions/help → help}/help.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/history.txt +7 -0
- data/lib/mysh/{internal/actions/help → help}/init.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/kbd.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/math.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/mls.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/quick.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/ruby.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/show.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/term.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/timed.txt +0 -0
- data/lib/mysh/help/type.txt +28 -0
- data/lib/mysh/{internal/actions/help → help}/types.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/usage.txt +0 -0
- data/lib/mysh/{internal/actions/help → help}/vars.txt +4 -4
- data/lib/mysh/input_wrapper.rb +13 -13
- data/lib/mysh/internal.rb +20 -8
- data/lib/mysh/internal/{actions/cancel.rb → cancel.rb} +0 -0
- data/lib/mysh/internal/{actions/cd.rb → cd.rb} +2 -2
- data/lib/mysh/internal/{actions/comment.rb → comment.rb} +2 -2
- data/lib/mysh/internal/{actions/elapsed.rb → elapsed.rb} +2 -2
- data/lib/mysh/internal/{actions/exit.rb → exit.rb} +0 -0
- data/lib/mysh/internal/{actions/gls.rb → gls.rb} +6 -7
- data/lib/mysh/internal/{actions/help.rb → help.rb} +7 -9
- data/lib/mysh/internal/{actions/history.rb → history.rb} +10 -9
- data/lib/mysh/internal/load.rb +45 -0
- data/lib/mysh/internal/{actions/mls.rb → mls.rb} +2 -2
- data/lib/mysh/internal/{actions/pwd.rb → pwd.rb} +1 -1
- data/lib/mysh/internal/{actions/say.rb → say.rb} +1 -1
- data/lib/mysh/internal/{actions/show.rb → show.rb} +7 -6
- data/lib/mysh/internal/{actions/help → support}/sub_help.rb +9 -7
- data/lib/mysh/internal/type.rb +38 -0
- data/lib/mysh/internal/{actions/vars.rb → vars.rb} +8 -8
- data/lib/mysh/{init.rb → load_init_file.rb} +3 -3
- data/lib/mysh/process.rb +7 -7
- data/lib/mysh/quick.rb +10 -4
- data/lib/mysh/shell_variables.rb +9 -4
- data/lib/mysh/shell_variables/evaluate.rb +2 -11
- data/lib/mysh/shell_variables/shell_variable_keeper.rb +6 -7
- data/lib/mysh/shell_variables/shell_variable_store.rb +13 -14
- data/lib/mysh/{internal/actions/show → show}/env.rb +3 -5
- data/lib/mysh/{internal/actions/show → show}/gem.rb +3 -16
- data/lib/mysh/{internal/actions/show → show}/ruby.rb +0 -0
- data/lib/mysh/{internal/actions/show → show}/term.rb +5 -7
- data/lib/mysh/sources/console.rb +11 -7
- data/lib/mysh/sources/parse.rb +7 -10
- data/lib/mysh/sources/smart_auto_complete.rb +5 -5
- data/lib/mysh/sources/string.rb +6 -6
- data/lib/mysh/string_helpers.rb +37 -0
- data/lib/mysh/system.rb +2 -2
- data/lib/mysh/user_input.rb +5 -9
- data/lib/mysh/version.rb +4 -4
- data/mysh.gemspec +4 -3
- data/samples/show.txt +2 -0
- data/tests/my_shell_tests.rb +18 -6
- metadata +77 -65
- data/lib/mysh/binding_wrapper.rb +0 -21
- data/lib/mysh/handlebars/string.rb +0 -22
- data/lib/mysh/internal/actions/actions_path.rb +0 -15
- data/lib/mysh/internal/actions/command_line/quit.rb +0 -19
- data/lib/mysh/internal/actions/load.rb +0 -36
- data/lib/mysh/internal/actions/type.rb +0 -22
- data/lib/mysh/internal/manage.rb +0 -20
- data/lib/mysh/internal/to_file_spec.rb +0 -26
- data/lib/mysh/pre_processor.rb +0 -11
@@ -0,0 +1,45 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
# The mysh load command.
|
4
|
+
module Mysh
|
5
|
+
|
6
|
+
# Add the load command to the library.
|
7
|
+
desc = "Load ruby programs, mysh scripts, " +
|
8
|
+
"or text files into the mysh environment."
|
9
|
+
|
10
|
+
action = lambda do |input|
|
11
|
+
count = 0
|
12
|
+
args = input.args
|
13
|
+
|
14
|
+
args.each do |file_name|
|
15
|
+
puts file_name if args.length > 1
|
16
|
+
Mysh.load_a_file(file_name)
|
17
|
+
count += 1
|
18
|
+
end
|
19
|
+
|
20
|
+
if count > 0
|
21
|
+
:internal
|
22
|
+
else
|
23
|
+
fail "Error: A load file must be specified."
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# Load a single file.
|
28
|
+
def self.load_a_file(file_name)
|
29
|
+
case File.extname(file_name)
|
30
|
+
when '.mysh'
|
31
|
+
Mysh.process_file(file_name)
|
32
|
+
:internal
|
33
|
+
when '.txt'
|
34
|
+
show_handlebar_file(file_name, binding)
|
35
|
+
:internal
|
36
|
+
when '.rb'
|
37
|
+
load file_name
|
38
|
+
:internal
|
39
|
+
else
|
40
|
+
fail "Error: Unknown file type: #{file_name.inspect}"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
COMMANDS.add_action(Action.new('load <files>', desc, &action))
|
45
|
+
end
|
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
require 'vls'
|
4
4
|
|
5
|
-
|
5
|
+
# The mysh module ls command.
|
6
6
|
module Mysh
|
7
7
|
|
8
|
-
#Add the mls command to the library.
|
8
|
+
# Add the mls command to the library.
|
9
9
|
desc = 'Display modules with version info. See ?mls for more.'
|
10
10
|
|
11
11
|
action = lambda do |input|
|
@@ -1,19 +1,19 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
3
|
+
# The mysh internal show command.
|
4
4
|
module Mysh
|
5
5
|
|
6
6
|
# The working message for long duration processing.
|
7
7
|
WORKING = "Working...\r"
|
8
8
|
|
9
|
-
#Show items.
|
9
|
+
# Show items.
|
10
10
|
default = Action.new do |input|
|
11
11
|
puts "No show data found for #{input.raw.inspect}. See ?@ for more."
|
12
12
|
end
|
13
13
|
|
14
14
|
SHOW = ActionPool.new("SHOW", default)
|
15
15
|
|
16
|
-
#The shared description.
|
16
|
+
# The shared description.
|
17
17
|
desc = "Display information about a part of mysh. See ?@ for more."
|
18
18
|
|
19
19
|
action = lambda do |input|
|
@@ -26,11 +26,12 @@ module Mysh
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
#The show command action object.
|
29
|
+
# The show command action object.
|
30
30
|
COMMANDS.add_action(Action.new('show <item>', desc, &action))
|
31
31
|
SHOW_COMMAND = Action.new('@<item>', desc, &action)
|
32
32
|
COMMANDS.add_action(SHOW_COMMAND)
|
33
33
|
end
|
34
34
|
|
35
|
-
#Load up the
|
36
|
-
|
35
|
+
# Load up the various show actions!
|
36
|
+
path = MYSH_LIB + "mysh/show/*.rb"
|
37
|
+
Dir[path].each {|file| require file }
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
3
|
+
# The mysh internal help sub commands.
|
4
4
|
module Mysh
|
5
5
|
|
6
|
-
|
6
|
+
# The mysh internal help sub commands.
|
7
7
|
class HelpSubCommand < Action
|
8
8
|
|
9
|
-
#Setup a help command.
|
9
|
+
# Setup a help command.
|
10
10
|
def initialize(name, description, file_name)
|
11
11
|
super(name, description)
|
12
12
|
@file_name = file_name
|
@@ -14,12 +14,13 @@ module Mysh
|
|
14
14
|
|
15
15
|
#Execute a help command.
|
16
16
|
def process_command(_args)
|
17
|
-
|
17
|
+
path = MYSH_LIB + "mysh/help/" + @file_name
|
18
|
+
mysh "load #{path.to_host_spec}"
|
18
19
|
end
|
19
20
|
|
20
21
|
end
|
21
22
|
|
22
|
-
#Add help topics here. Don't sweat the order; they get sorted by name.
|
23
|
+
# Add help topics here. Don't sweat the order; they get sorted by name.
|
23
24
|
# Name Description Help File
|
24
25
|
help = [['', 'General help on mysh.', 'help.txt' ],
|
25
26
|
['set', 'Help on mysh variables.', 'vars.txt' ],
|
@@ -34,13 +35,14 @@ module Mysh
|
|
34
35
|
['usage', 'Help on mysh usage.', 'usage.txt' ],
|
35
36
|
['=', 'Help on ruby expressions.', 'expr.txt' ],
|
36
37
|
['quick', 'Help on quick commands.', 'quick.txt' ],
|
37
|
-
['gls', 'Help on gls
|
38
|
-
['mls', 'Help on mls
|
38
|
+
['gls', 'Help on the gls command.', 'gls.txt' ],
|
39
|
+
['mls', 'Help on the mls command.', 'mls.txt' ],
|
39
40
|
['!', 'Help on the history command.', 'history.txt'],
|
40
41
|
['history', 'Help on the history command.', 'history.txt'],
|
41
42
|
['kbd', 'Help on mysh keyboard mapping.', 'kbd.txt' ],
|
42
43
|
['{{', 'Help on mysh handlebars.', 'hbar.txt' ],
|
43
44
|
['init', 'Help on mysh initialization.', 'init.txt' ],
|
45
|
+
['type', 'Help on the type command.', 'type.txt' ],
|
44
46
|
['types', 'Help on mysh file types.', 'types.txt' ],
|
45
47
|
['help', 'This help on the help command.', 'h_o_h.txt' ],
|
46
48
|
['?', 'This help on the help command.', 'h_o_h.txt' ]
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
# The mysh type command.
|
4
|
+
module Mysh
|
5
|
+
|
6
|
+
# Add the type command to the library.
|
7
|
+
desc = 'Display one or more text files with optional support for ' +
|
8
|
+
'embedded handlebars and shell variables. See ?type for more.'
|
9
|
+
|
10
|
+
action = lambda do |input|
|
11
|
+
count = 0
|
12
|
+
cooked = MNV[:type] !~ /\A(raw|false|no|off)\z/i
|
13
|
+
args = input.args
|
14
|
+
|
15
|
+
args.each do |file_name|
|
16
|
+
puts file_name if args.length > 1
|
17
|
+
|
18
|
+
case file_name
|
19
|
+
when "-c"
|
20
|
+
cooked = false
|
21
|
+
when "+c"
|
22
|
+
cooked = true
|
23
|
+
else
|
24
|
+
if cooked
|
25
|
+
show_handlebar_file(file_name, binding)
|
26
|
+
else
|
27
|
+
puts IO.read(file_name)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
count += 1
|
32
|
+
end
|
33
|
+
|
34
|
+
fail "A text file must be specified." if count == 0
|
35
|
+
end
|
36
|
+
|
37
|
+
COMMANDS.add_action(Action.new('type <files>', desc, &action))
|
38
|
+
end
|
@@ -1,24 +1,24 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
3
|
+
# The mysh internal variables commands.
|
4
4
|
module Mysh
|
5
5
|
|
6
|
-
|
6
|
+
# The mysh internal variable commands.
|
7
7
|
class VarsCommand < Action
|
8
8
|
|
9
|
-
#The mysh variable parsing regex.
|
9
|
+
# The mysh variable parsing regex.
|
10
10
|
VAR_EXP = %r{(?<name> [a-z][a-z0-9_]*){0}
|
11
11
|
(?<equals> =){0}
|
12
12
|
(?<value> \S.*){0}
|
13
13
|
\$ (\g<name> \s* (\g<equals> \s* \g<value>?)?)?}x
|
14
14
|
|
15
|
-
#Setup an internal action.
|
15
|
+
# Setup an internal action.
|
16
16
|
def initialize(name, description)
|
17
17
|
@var_name = @equals = @value = nil
|
18
18
|
super(name, description)
|
19
19
|
end
|
20
20
|
|
21
|
-
#Execute a command against the internal mysh variables.
|
21
|
+
# Execute a command against the internal mysh variables.
|
22
22
|
def process_command(input)
|
23
23
|
if (match = VAR_EXP.match(input.raw_body))
|
24
24
|
@var_name, @equals, @value = match[:name], match[:equals], match[:value]
|
@@ -30,7 +30,7 @@ module Mysh
|
|
30
30
|
:internal
|
31
31
|
end
|
32
32
|
|
33
|
-
#Do the actual work here.
|
33
|
+
# Do the actual work here.
|
34
34
|
def do_command
|
35
35
|
sym = @var_name.to_sym if @var_name
|
36
36
|
|
@@ -45,7 +45,7 @@ module Mysh
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
-
#Display all variables neatly.
|
48
|
+
# Display all variables neatly.
|
49
49
|
def show_all_values
|
50
50
|
puts (MNV.keys - ['$'.to_sym])
|
51
51
|
.sort
|
@@ -55,7 +55,7 @@ module Mysh
|
|
55
55
|
|
56
56
|
end
|
57
57
|
|
58
|
-
#The
|
58
|
+
# The set command action object.
|
59
59
|
desc = 'Set/query mysh variables. See ?set for more.'
|
60
60
|
COMMANDS.add_action(VarsCommand.new('set <$name>=value', desc))
|
61
61
|
end
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
3
|
+
# The mysh initial file loader.
|
4
4
|
module Mysh
|
5
5
|
|
6
|
-
#Set the
|
6
|
+
# Set the initial file used to startup mysh to none so far.
|
7
7
|
$mysh_init_file = nil
|
8
8
|
|
9
|
-
#Perform
|
9
|
+
# Perform initial phase processing.
|
10
10
|
def self.mysh_load_init
|
11
11
|
|
12
12
|
unless $mysh_init_file
|
data/lib/mysh/process.rb
CHANGED
@@ -1,24 +1,24 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
3
|
+
# The mysh command processors.
|
4
4
|
module Mysh
|
5
5
|
|
6
|
-
#Process from the console.
|
6
|
+
# Process from the console.
|
7
7
|
def self.process_console
|
8
8
|
process_source(Console.new)
|
9
9
|
end
|
10
10
|
|
11
|
-
#Process from a string.
|
11
|
+
# Process from a string.
|
12
12
|
def self.process_string(str)
|
13
13
|
process_source(StringSource.new(str))
|
14
14
|
end
|
15
15
|
|
16
|
-
#Process from a file.
|
16
|
+
# Process from a file.
|
17
17
|
def self.process_file(name)
|
18
18
|
process_source(StringSource.new(IO.read(name)))
|
19
19
|
end
|
20
20
|
|
21
|
-
#Process commands from a source.
|
21
|
+
# Process commands from a source.
|
22
22
|
def self.process_source(source)
|
23
23
|
until source.eoi? do
|
24
24
|
execute_a_command(source)
|
@@ -26,7 +26,7 @@ module Mysh
|
|
26
26
|
rescue MyshExit
|
27
27
|
end
|
28
28
|
|
29
|
-
#Execute a single line of input and handle exceptions.
|
29
|
+
# Execute a single line of input and handle exceptions.
|
30
30
|
def self.execute_a_command(source)
|
31
31
|
try_execute_command(get_command(source))
|
32
32
|
|
@@ -38,7 +38,7 @@ module Mysh
|
|
38
38
|
puts err.backtrace if MNV[:debug].extract_boolean || defined?(MiniTest)
|
39
39
|
end
|
40
40
|
|
41
|
-
#Try to execute a single line of input. Does not handle exceptions.
|
41
|
+
# Try to execute a single line of input. Does not handle exceptions.
|
42
42
|
def self.try_execute_command(str)
|
43
43
|
input = InputWrapper.new(str)
|
44
44
|
|
data/lib/mysh/quick.rb
CHANGED
@@ -1,19 +1,25 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
3
|
+
# The mysh internal quick commands.
|
4
4
|
module Mysh
|
5
5
|
|
6
|
-
#A hash of quick command short cuts and their actions.
|
6
|
+
# A hash of quick command short cuts and their actions.
|
7
7
|
QUICK = Hash.new(lambda {|_input| false })
|
8
8
|
|
9
9
|
QUICK['!'] = lambda {|input| HISTORY_COMMAND.process_quick_command(input)}
|
10
10
|
QUICK['#'] = lambda {|input| MYSH_COMMENT.process_command(input)}
|
11
11
|
QUICK['%'] = lambda {|input| TIMED_COMMAND.process_command(input)}
|
12
|
-
QUICK['='] = lambda {|input| $mysh_exec_host.execute(input.raw.preprocess)}
|
13
12
|
QUICK['?'] = lambda {|input| HELP_COMMAND.process_quick_command(input)}
|
14
13
|
QUICK['@'] = lambda {|input| SHOW_COMMAND.process_quick_command(input)}
|
15
14
|
|
16
|
-
|
15
|
+
QUICK['='] = lambda do |input|
|
16
|
+
cmd = "$mysh_exec_result=(" + input.raw[1..-1].preprocess + ")"
|
17
|
+
puts cmd if MNV[:debug].extract_boolean
|
18
|
+
pp $mysh_exec_binding.eval(cmd)
|
19
|
+
:expression
|
20
|
+
end
|
21
|
+
|
22
|
+
# Try to execute the inputing as a quick command.
|
17
23
|
def self.try_execute_quick(input)
|
18
24
|
QUICK[input.quick_command].call(input)
|
19
25
|
end
|
data/lib/mysh/shell_variables.rb
CHANGED
@@ -4,13 +4,13 @@ require_relative 'shell_variables/shell_variable_store'
|
|
4
4
|
require_relative 'shell_variables/shell_variable_keeper'
|
5
5
|
require_relative 'shell_variables/evaluate'
|
6
6
|
|
7
|
-
|
7
|
+
# Adds support for mysh scripting variables.
|
8
8
|
module Mysh
|
9
9
|
|
10
|
-
#Set up some essential entries.
|
10
|
+
# Set up some essential entries.
|
11
11
|
MNV['$'.to_sym] = "$"
|
12
12
|
|
13
|
-
#Set up some default values.
|
13
|
+
# Set up some default values.
|
14
14
|
MNV[:debug] = "false"
|
15
15
|
MNV[:prompt] = "mysh>"
|
16
16
|
MNV[:post_prompt] = "$prompt"
|
@@ -19,7 +19,10 @@ module Mysh
|
|
19
19
|
MNV[:page_width] = "{{ MiniTerm.width }}"
|
20
20
|
MNV[:page_height] = "{{ MiniTerm.height }}"
|
21
21
|
MNV[:page_pause] = "on"
|
22
|
-
|
22
|
+
|
23
|
+
MNV[:history] = "on"
|
24
|
+
MNV[:no_dups] = "on"
|
25
|
+
MNV[:no_move] = "on"
|
23
26
|
|
24
27
|
MNV[:d] = "{{ Time.now.strftime(MNV[:date_fmt]) }}"
|
25
28
|
MNV[:h] = "{{ ENV['HOME'].to_host_spec }}"
|
@@ -31,4 +34,6 @@ module Mysh
|
|
31
34
|
|
32
35
|
MNV[:date_fmt] = "%Y-%m-%d"
|
33
36
|
MNV[:time_fmt] = "%H:%M"
|
37
|
+
|
38
|
+
MNV[:type] = "raw"
|
34
39
|
end
|
@@ -1,18 +1,9 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
#Monkey patches for Mysh variables
|
3
|
+
# Monkey patches for Mysh variables
|
4
4
|
class String
|
5
5
|
|
6
|
-
#
|
7
|
-
def extract_boolean
|
8
|
-
if self =~ /\A(false|no|off)\z/i
|
9
|
-
false
|
10
|
-
else
|
11
|
-
self
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
#Evaluate any variable substitutions in the input.
|
6
|
+
# Evaluate any variable substitutions in the string.
|
16
7
|
def eval_variables
|
17
8
|
self.gsub(/((?<!\\)\$\$)|((?<!\\)\$[a-z][a-z0-9_]*)/) do |str|
|
18
9
|
sym = str[1..-1].to_sym
|
@@ -1,17 +1,17 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
3
|
+
# The keeper of mysh values.
|
4
4
|
module Mysh
|
5
5
|
|
6
|
-
#The keeper of mysh variable values.
|
6
|
+
# The keeper of mysh variable values.
|
7
7
|
class Keeper
|
8
8
|
|
9
|
-
#Set up this variable
|
9
|
+
# Set up this variable
|
10
10
|
def initialize(value="")
|
11
11
|
@value = value
|
12
12
|
end
|
13
13
|
|
14
|
-
#Get the value of this variable.
|
14
|
+
# Get the value of this variable.
|
15
15
|
def get_value(loop_check={})
|
16
16
|
my_id = self.object_id
|
17
17
|
fail "Mysh variable looping error." if loop_check[my_id]
|
@@ -21,12 +21,12 @@ module Mysh
|
|
21
21
|
loop_check.delete(my_id)
|
22
22
|
end
|
23
23
|
|
24
|
-
#Get the source code of this variable.
|
24
|
+
# Get the source code of this variable.
|
25
25
|
def get_source
|
26
26
|
@value
|
27
27
|
end
|
28
28
|
|
29
|
-
#Set the value of this variable.
|
29
|
+
# Set the value of this variable.
|
30
30
|
def set_value(value)
|
31
31
|
@value = value
|
32
32
|
end
|
@@ -34,4 +34,3 @@ module Mysh
|
|
34
34
|
end
|
35
35
|
|
36
36
|
end
|
37
|
-
|