rubycom 0.3.2 → 0.4.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 +8 -8
- data/README.md +162 -146
- data/Rakefile +12 -12
- data/lib/rubycom.rb +156 -226
- data/lib/rubycom/arg_parse.rb +252 -0
- data/lib/rubycom/command_interface.rb +97 -0
- data/lib/rubycom/completions.rb +62 -0
- data/lib/rubycom/error_handler.rb +15 -0
- data/lib/rubycom/executor.rb +23 -0
- data/lib/rubycom/helpers.rb +98 -0
- data/lib/rubycom/output_handler.rb +15 -0
- data/lib/rubycom/parameter_extract.rb +262 -0
- data/lib/rubycom/singleton_commands.rb +78 -0
- data/lib/rubycom/sources.rb +99 -0
- data/lib/rubycom/version.rb +1 -1
- data/lib/rubycom/yard_doc.rb +146 -0
- data/rubycom.gemspec +14 -16
- data/test/rubycom/arg_parse_test.rb +247 -0
- data/test/rubycom/command_interface_test.rb +293 -0
- data/test/rubycom/completions_test.rb +94 -0
- data/test/rubycom/error_handler_test.rb +72 -0
- data/test/rubycom/executor_test.rb +64 -0
- data/test/rubycom/helpers_test.rb +467 -0
- data/test/rubycom/output_handler_test.rb +76 -0
- data/test/rubycom/parameter_extract_test.rb +141 -0
- data/test/rubycom/rubycom_test.rb +290 -548
- data/test/rubycom/singleton_commands_test.rb +122 -0
- data/test/rubycom/sources_test.rb +59 -0
- data/test/rubycom/util_test_bin.rb +8 -0
- data/test/rubycom/util_test_composite.rb +23 -20
- data/test/rubycom/util_test_module.rb +142 -112
- data/test/rubycom/util_test_no_singleton.rb +2 -2
- data/test/rubycom/util_test_sub_module.rb +13 -0
- data/test/rubycom/yard_doc_test.rb +165 -0
- metadata +61 -24
- data/lib/rubycom/arguments.rb +0 -133
- data/lib/rubycom/commands.rb +0 -63
- data/lib/rubycom/documentation.rb +0 -212
- data/test/rubycom/arguments_test.rb +0 -289
- data/test/rubycom/commands_test.rb +0 -51
- data/test/rubycom/documentation_test.rb +0 -186
- data/test/rubycom/util_test_job.yaml +0 -21
- data/test/rubycom/utility_tester.rb +0 -17
@@ -0,0 +1,122 @@
|
|
1
|
+
require "#{File.dirname(__FILE__)}/../../lib/rubycom/singleton_commands.rb"
|
2
|
+
|
3
|
+
require "#{File.dirname(__FILE__)}/util_test_module.rb"
|
4
|
+
require "#{File.dirname(__FILE__)}/util_test_composite.rb"
|
5
|
+
require "#{File.dirname(__FILE__)}/util_test_no_singleton.rb"
|
6
|
+
|
7
|
+
require 'test/unit'
|
8
|
+
|
9
|
+
class SingletonCommandsTest < Test::Unit::TestCase
|
10
|
+
|
11
|
+
def test_discover_command_command_run
|
12
|
+
test_mod = UtilTestComposite
|
13
|
+
test_args = {:args=>["UtilTestModule", "test_command_with_return", "testing_argument"],:opts=>{"test_option_int"=>10}}
|
14
|
+
result = Rubycom::SingletonCommands.discover_command(test_mod, test_args)
|
15
|
+
expected = UtilTestModule.public_method(:test_command_with_return)
|
16
|
+
assert_equal(expected, result)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_discover_commands_nil
|
20
|
+
test_mod = UtilTestComposite
|
21
|
+
test_args = nil
|
22
|
+
result = nil
|
23
|
+
assert_raise(ArgumentError) { Rubycom::SingletonCommands.discover_commands(test_mod, test_args) }
|
24
|
+
expected = nil
|
25
|
+
assert_equal(expected, result)
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_discover_commands_nil_args
|
29
|
+
test_mod = UtilTestComposite
|
30
|
+
test_args = {}
|
31
|
+
result = Rubycom::SingletonCommands.discover_commands(test_mod, test_args)
|
32
|
+
expected = [
|
33
|
+
UtilTestComposite
|
34
|
+
]
|
35
|
+
assert_equal(expected, result)
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_discover_commands_empty
|
39
|
+
test_mod = UtilTestComposite
|
40
|
+
test_args = {:args => []}
|
41
|
+
result = Rubycom::SingletonCommands.discover_commands(test_mod, test_args)
|
42
|
+
expected = [
|
43
|
+
UtilTestComposite
|
44
|
+
]
|
45
|
+
assert_equal(expected, result)
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_discover_commands_command_before_module
|
49
|
+
test_mod = UtilTestComposite
|
50
|
+
test_args = {:args => ['test_command', 'UtilTestModule', 'test_extra_arg']}
|
51
|
+
result = Rubycom::SingletonCommands.discover_commands(test_mod, test_args)
|
52
|
+
expected = [
|
53
|
+
UtilTestComposite,
|
54
|
+
"test_command",
|
55
|
+
"UtilTestModule",
|
56
|
+
"test_extra_arg"
|
57
|
+
]
|
58
|
+
assert_equal(expected, result)
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_discover_commands_no_module_match
|
62
|
+
test_mod = UtilTestComposite
|
63
|
+
test_args = {:args => ['test_arg', 'test_command', 'test_extra_arg']}
|
64
|
+
result = Rubycom::SingletonCommands.discover_commands(test_mod, test_args)
|
65
|
+
expected = [
|
66
|
+
UtilTestComposite,
|
67
|
+
"test_arg",
|
68
|
+
"test_command",
|
69
|
+
"test_extra_arg"
|
70
|
+
]
|
71
|
+
assert_equal(expected, result)
|
72
|
+
end
|
73
|
+
|
74
|
+
def test_discover_commands_no_method_match
|
75
|
+
test_mod = UtilTestComposite
|
76
|
+
test_args = {:args => ['UtilTestModule', 'test_arg', 'test_extra_arg']}
|
77
|
+
result = Rubycom::SingletonCommands.discover_commands(test_mod, test_args)
|
78
|
+
expected = [
|
79
|
+
UtilTestComposite,
|
80
|
+
UtilTestModule,
|
81
|
+
"test_arg",
|
82
|
+
"test_extra_arg"
|
83
|
+
]
|
84
|
+
assert_equal(expected, result)
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_discover_commands_extra_arg
|
88
|
+
test_mod = UtilTestComposite
|
89
|
+
test_args = {:args => ['UtilTestModule', 'test_command', 'test_extra_arg']}
|
90
|
+
result = Rubycom::SingletonCommands.discover_commands(test_mod, test_args)
|
91
|
+
expected = [
|
92
|
+
UtilTestComposite,
|
93
|
+
UtilTestModule,
|
94
|
+
UtilTestModule.public_method(:test_command),
|
95
|
+
"test_extra_arg"
|
96
|
+
]
|
97
|
+
assert_equal(expected, result)
|
98
|
+
end
|
99
|
+
|
100
|
+
def test_get_commands
|
101
|
+
test_mod = UtilTestComposite
|
102
|
+
result = Rubycom::SingletonCommands.get_commands(test_mod)
|
103
|
+
result.each{|k, v|
|
104
|
+
assert(k.class == Symbol, "each key should be a symbol")
|
105
|
+
UtilTestComposite.included_modules.include?(k)
|
106
|
+
assert([Hash, Symbol].include?(v.class), "each value should be a Hash or a Symbol")
|
107
|
+
assert(v == :method, "if the returned value is not a hash then it should be the symbol :method") if v.class == Symbol
|
108
|
+
}
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_get_commands_all_false
|
112
|
+
test_mod = UtilTestComposite
|
113
|
+
result_keys = Rubycom::SingletonCommands.get_commands(test_mod, false)[:UtilTestComposite].keys.map{|key|key.to_s}
|
114
|
+
test_mod.singleton_methods(false).each{|meth|
|
115
|
+
assert(result_keys.include?(meth.to_s), "get_commands result keys: #{result_keys} should include base module singleton method #{meth.to_s}")
|
116
|
+
}
|
117
|
+
test_mod.included_modules.reject{|mod|mod.to_s == "Rubycom"}.each{|mod|
|
118
|
+
assert(result_keys.include?(mod.to_s), "get_commands result keys: #{result_keys} should include base included module #{mod.to_s}")
|
119
|
+
}
|
120
|
+
end
|
121
|
+
|
122
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require "#{File.dirname(__FILE__)}/../../lib/rubycom/sources.rb"
|
2
|
+
|
3
|
+
require "#{File.dirname(__FILE__)}/util_test_bin.rb"
|
4
|
+
require "#{File.dirname(__FILE__)}/util_test_module.rb"
|
5
|
+
require "#{File.dirname(__FILE__)}/util_test_composite.rb"
|
6
|
+
require "#{File.dirname(__FILE__)}/util_test_no_singleton.rb"
|
7
|
+
|
8
|
+
require 'test/unit'
|
9
|
+
|
10
|
+
class SourcesTest < Test::Unit::TestCase
|
11
|
+
|
12
|
+
def test_source_commands
|
13
|
+
test_commands = [
|
14
|
+
UtilTestComposite,
|
15
|
+
UtilTestModule,
|
16
|
+
UtilTestModule.public_method(:test_command),
|
17
|
+
"test_extra_arg"
|
18
|
+
]
|
19
|
+
result = Rubycom::Sources.source_commands(test_commands)
|
20
|
+
assert(result.size > 0, "should be at least one result")
|
21
|
+
result.each{|res|
|
22
|
+
assert(res.class == Hash, "each result should be a Hash")
|
23
|
+
assert(res.size == 2, "each result should have two keys")
|
24
|
+
assert(res.has_key?(:command), "each result should have a :command key")
|
25
|
+
assert(res.has_key?(:source), "each result should have a :source key")
|
26
|
+
}
|
27
|
+
assert(result.select{|res|res[:command] == UtilTestComposite}.size == 1, "result should have a UtilTestComposite command")
|
28
|
+
assert(result.select{|res|res[:command] == UtilTestModule}.size == 1, "result should have a UtilTestComposite command")
|
29
|
+
assert(result.select{|res|res[:command] == UtilTestModule.public_method(:test_command)}.size == 1, "result should have a test_command method command")
|
30
|
+
assert(result.select{|res|res[:command] == "test_extra_arg"}.size == 1, "result should have a test_extra_arg String command")
|
31
|
+
assert_equal(result.select{|res|res[:command] == UtilTestComposite}.first[:source].gsub("\n",''), (File.read("#{File.dirname(__FILE__)}/util_test_composite.rb")+File.read("#{File.dirname(__FILE__)}/util_test_sub_module.rb")+File.read("#{File.dirname(__FILE__)}/util_test_bin.rb")).gsub("\n",''))
|
32
|
+
assert_equal(result.select{|res|res[:command] == UtilTestModule}.first[:source].gsub("\n",''), (File.read("#{File.dirname(__FILE__)}/util_test_module.rb")).gsub("\n",''))
|
33
|
+
assert_equal(result.select{|res|res[:command] == UtilTestModule.public_method(:test_command)}.first[:source].gsub("\n",''), "# A basic test command\n def self.test_command\n puts 'command test'\n end\n".gsub("\n",''))
|
34
|
+
assert_equal(result.select{|res|res[:command] == "test_extra_arg"}.first[:source].gsub("\n",''), "test_extra_arg")
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_source_command_run
|
38
|
+
test_command = UtilTestModule.public_method(:test_command_with_return)
|
39
|
+
result = Rubycom::Sources.source_command(test_command)
|
40
|
+
expected = "# A test_command with a return argument\n#\n# @param [String] test_arg a test argument\n# @param [Integer] test_option_int an optional test argument which happens to be an Integer\n# @return [Array] an array including both params if test_option_int != 1\n# @return [String] the first param if test_option_int == 1\n def self.test_command_with_return(test_arg, test_option_int=1)\n ret = [test_arg, test_option_int]\n if test_option_int == 1\n ret = test_arg\n end\n ret\n end\n"
|
41
|
+
assert_equal(expected, result)
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_source_command_run_module
|
45
|
+
test_command = UtilTestModule
|
46
|
+
result = Rubycom::Sources.source_command(test_command)
|
47
|
+
expected = File.read("#{File.dirname(__FILE__)}/util_test_module.rb")
|
48
|
+
assert_equal(expected, result)
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_source_command_run_composite
|
52
|
+
test_command = UtilTestComposite
|
53
|
+
result = Rubycom::Sources.source_command(test_command)
|
54
|
+
bin_file = File.read("#{File.dirname(__FILE__)}/util_test_bin.rb")
|
55
|
+
lib_file = File.read("#{File.dirname(__FILE__)}/util_test_composite.rb")
|
56
|
+
assert(result.include?(bin_file),"source for composite module #{test_command} must include bin_file")
|
57
|
+
assert(result.include?(lib_file),"source for composite module #{test_command} must include lib_file")
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/../../lib/rubycom.rb"
|
3
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/util_test_composite.rb"
|
4
|
+
|
5
|
+
# Test library entry point. Acts as the runnable for UtilTestComposite.rb
|
6
|
+
module UtilTestComposite
|
7
|
+
include Rubycom
|
8
|
+
end
|
@@ -1,20 +1,23 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
require "#{File.expand_path(File.dirname(__FILE__))}/../../lib/rubycom.rb"
|
3
|
-
require "#{File.expand_path(File.dirname(__FILE__))}/util_test_module.rb"
|
4
|
-
require "#{File.expand_path(File.dirname(__FILE__))}/util_test_no_singleton.rb"
|
5
|
-
|
6
|
-
module
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
#
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/../../lib/rubycom.rb"
|
3
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/util_test_module.rb"
|
4
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/util_test_no_singleton.rb"
|
5
|
+
|
6
|
+
# Composite module for testing
|
7
|
+
module UtilTestComposite
|
8
|
+
include UtilTestModule
|
9
|
+
|
10
|
+
include UtilTestNoSingleton
|
11
|
+
|
12
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/util_test_sub_module.rb"
|
13
|
+
include UtilTestSubModule
|
14
|
+
|
15
|
+
# A test_command in a composite console
|
16
|
+
#
|
17
|
+
# @param [String] test_arg a test argument
|
18
|
+
# @return [String] the test arg
|
19
|
+
def self.test_composite_command(test_arg)
|
20
|
+
test_arg
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -1,112 +1,142 @@
|
|
1
|
-
require "#{File.expand_path(File.dirname(__FILE__))}/../../lib/rubycom.rb"
|
2
|
-
# A command module used for testing
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
#
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
#
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
#
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
#
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
#
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
#
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
)
|
61
|
-
|
62
|
-
end
|
63
|
-
|
64
|
-
# A test_command with
|
65
|
-
#
|
66
|
-
# @param [
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
#
|
79
|
-
#
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
#
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
#
|
94
|
-
#
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
#
|
101
|
-
# @
|
102
|
-
def self.
|
103
|
-
|
104
|
-
end
|
105
|
-
|
106
|
-
# A test_command with
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
1
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/../../lib/rubycom.rb"
|
2
|
+
# A command module used for testing
|
3
|
+
#
|
4
|
+
#This module contains most of the test case input methods.
|
5
|
+
module UtilTestModule
|
6
|
+
|
7
|
+
# A test non-command method
|
8
|
+
def non_command
|
9
|
+
puts 'fail'
|
10
|
+
end
|
11
|
+
|
12
|
+
# A basic test command
|
13
|
+
def self.test_command
|
14
|
+
puts 'command test'
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.test_command_no_docs
|
18
|
+
puts 'command test'
|
19
|
+
end
|
20
|
+
|
21
|
+
# A test_command with one arg
|
22
|
+
#
|
23
|
+
# @param [String] test_arg a test argument
|
24
|
+
def self.test_command_with_arg(test_arg)
|
25
|
+
"test_arg=#{test_arg}"
|
26
|
+
end
|
27
|
+
|
28
|
+
# A test_command with an arg named arg
|
29
|
+
#
|
30
|
+
# @param [String] arg a test argument whose parameter name is arg
|
31
|
+
def self.test_command_arg_named_arg(arg)
|
32
|
+
"arg=#{arg}"
|
33
|
+
end
|
34
|
+
|
35
|
+
# A test_command with two args
|
36
|
+
# @param [String] test_arg a test argument
|
37
|
+
# @param [String] another_test_arg another test argument
|
38
|
+
def self.test_command_with_args(test_arg, another_test_arg)
|
39
|
+
puts "test_arg=#{test_arg},another_test_arg=#{another_test_arg}"
|
40
|
+
end
|
41
|
+
|
42
|
+
# A test_command with an optional argument
|
43
|
+
# @param [String] test_arg a test argument
|
44
|
+
# @param [String] test_option an optional test argument
|
45
|
+
def self.test_command_with_options(test_arg, test_option='option_default')
|
46
|
+
puts "test_arg=#{test_arg},test_option=#{test_option}"
|
47
|
+
end
|
48
|
+
|
49
|
+
# A test_command with all optional arguments
|
50
|
+
# @param [String] test_arg an optional test argument
|
51
|
+
# @param [String] test_option another optional test argument
|
52
|
+
def self.test_command_all_options(test_arg='test_arg_default', test_option='test_option_default')
|
53
|
+
puts "Output is test_arg=#{test_arg},test_option=#{test_option}"
|
54
|
+
end
|
55
|
+
|
56
|
+
# A test_command with a nil optional argument
|
57
|
+
# @param [String] test_arg a test argument
|
58
|
+
# @param [String] test_option an optional test argument with a nil default value
|
59
|
+
# @return [String] a message including the value and class of each parameter
|
60
|
+
def self.test_command_nil_option(test_arg, test_option=nil)
|
61
|
+
"test_arg=#{test_arg}, test_arg.class=#{test_arg.class}, test_option=#{test_option}, test_option.class=#{test_option.class}"
|
62
|
+
end
|
63
|
+
|
64
|
+
# A test_command with an options array
|
65
|
+
# @param [String] test_option an optional test argument
|
66
|
+
# @param [Array] test_options an optional array of arguments
|
67
|
+
def self.test_command_options_arr (
|
68
|
+
test_option='test_option_default',
|
69
|
+
*test_options
|
70
|
+
)
|
71
|
+
puts "Output is test_option=#{test_option},test_option_arr=#{test_options}"
|
72
|
+
end
|
73
|
+
|
74
|
+
# A test_command with a return argument
|
75
|
+
#
|
76
|
+
# @param [String] test_arg a test argument
|
77
|
+
# @param [Integer] test_option_int an optional test argument which happens to be an Integer
|
78
|
+
# @return [Array] an array including both params if test_option_int != 1
|
79
|
+
# @return [String] the first param if test_option_int == 1
|
80
|
+
def self.test_command_with_return(test_arg, test_option_int=1)
|
81
|
+
ret = [test_arg, test_option_int]
|
82
|
+
if test_option_int == 1
|
83
|
+
ret = test_arg
|
84
|
+
end
|
85
|
+
ret
|
86
|
+
end
|
87
|
+
|
88
|
+
# A test_command with a Timestamp argument and an unnecessarily long description which should overflow when
|
89
|
+
# it tries to line up with other descriptions.
|
90
|
+
#
|
91
|
+
# some more stuff
|
92
|
+
#
|
93
|
+
# @param [Timestamp] test_time a test Timestamp argument
|
94
|
+
# @return [Hash] a hash including the given argument
|
95
|
+
def self.test_command_arg_timestamp(test_time)
|
96
|
+
{:test_time => test_time}
|
97
|
+
end
|
98
|
+
|
99
|
+
# A test_command with a Boolean argument
|
100
|
+
# @param [Boolean] test_flag a test Boolean argument
|
101
|
+
# @return [Boolean] the flag passed in
|
102
|
+
def self.test_command_arg_false(test_flag=false)
|
103
|
+
test_flag
|
104
|
+
end
|
105
|
+
|
106
|
+
# A test_command with an array argument
|
107
|
+
#
|
108
|
+
# @param [Array] test_arr an Array test argument
|
109
|
+
def self.test_command_arg_arr(test_arr=[])
|
110
|
+
test_arr
|
111
|
+
end
|
112
|
+
|
113
|
+
# A test_command with an Hash argument
|
114
|
+
# @param [Hash] test_hash a Hash test argument
|
115
|
+
def self.test_command_arg_hash(test_hash={})
|
116
|
+
test_hash
|
117
|
+
end
|
118
|
+
|
119
|
+
# A test_command with several mixed options
|
120
|
+
#
|
121
|
+
# @param [String] test_arg
|
122
|
+
# @param [Array] test_arr
|
123
|
+
# @param [String] test_opt
|
124
|
+
# @param [Fixnum] test_opt
|
125
|
+
def self.test_command_mixed_options(test_arg, test_arr=[], test_opt='test_opt_arg', test_hsh={}, test_bool=true, *test_rest)
|
126
|
+
"test_arg=#{test_arg} test_arr=#{test_arr} test_opt=#{test_opt} test_hsh=#{test_hsh} test_bool=#{test_bool} test_rest=#{test_rest}"
|
127
|
+
end
|
128
|
+
|
129
|
+
# A test_command with several mixed options with varying names
|
130
|
+
#
|
131
|
+
# @param [Object] arg_test anything
|
132
|
+
# @param [Array] arr an array of things
|
133
|
+
# @param [String] opt an optional string
|
134
|
+
# @param [Hash] hsh a hash representing some test keys and values
|
135
|
+
# @param [TrueClass|FalseClass] bool a true or false
|
136
|
+
# @param [Array] rest_test everything else
|
137
|
+
def self.test_command_mixed_names(arg_test, arr=[], opt='test_opt_arg', hsh={}, bool=true, *rest_test)
|
138
|
+
"arg_test=#{arg_test} arr=#{arr} opt=#{opt} hsh=#{hsh} bool=#{bool} rest_test=#{rest_test}"
|
139
|
+
end
|
140
|
+
|
141
|
+
include Rubycom
|
142
|
+
end
|