diff --git a/lib/objects/local_ruby_challenge_generator.rb b/lib/objects/local_ruby_challenge_generator.rb index 1560ac7da..8a0320460 100644 --- a/lib/objects/local_ruby_challenge_generator.rb +++ b/lib/objects/local_ruby_challenge_generator.rb @@ -3,6 +3,8 @@ require_relative 'local_script_challenge_generator.rb' class RubyChallengeGenerator < ScriptChallengeGenerator + attr_accessor :difficulty + def initialize super self.module_name = 'Ruby Example Script Generator' diff --git a/lib/objects/local_script_challenge_generator.rb b/lib/objects/local_script_challenge_generator.rb index 5aa0ff8a8..56a02b47f 100644 --- a/lib/objects/local_script_challenge_generator.rb +++ b/lib/objects/local_script_challenge_generator.rb @@ -14,6 +14,7 @@ class ScriptChallengeGenerator attr_accessor :module_name attr_accessor :has_base64_inputs attr_accessor :outputs + attr_accessor :difficulty # override this def initialize @@ -21,6 +22,7 @@ class ScriptChallengeGenerator self.module_name = 'Null generator' self.has_base64_inputs = false self.outputs = [] + self.difficulty = '' end # override this @@ -51,7 +53,8 @@ class ScriptChallengeGenerator def get_options_array [['--help', '-h', GetoptLong::NO_ARGUMENT], - ['--b64', GetoptLong::OPTIONAL_ARGUMENT]] + ['--b64', GetoptLong::OPTIONAL_ARGUMENT], + ['--difficulty', GetoptLong::OPTIONAL_ARGUMENT]] end # Override this when using read_fact's in your module. Always call super first @@ -67,6 +70,9 @@ class ScriptChallengeGenerator usage when '--b64' # do nothing + when '--difficulty' + self.difficulty << arg + end end diff --git a/modules/generators/challenges/misc/programming/echo_string/secgen_local/local.rb b/modules/generators/challenges/misc/programming/echo_string/secgen_local/local.rb index 9cd79919a..542b4c484 100644 --- a/modules/generators/challenges/misc/programming/echo_string/secgen_local/local.rb +++ b/modules/generators/challenges/misc/programming/echo_string/secgen_local/local.rb @@ -9,7 +9,7 @@ class EchoStringChallenge < RubyChallengeGenerator end def challenge_content - File.read(File.join(File.dirname(__FILE__), 'challenge.rb')) + File.read(File.join(File.dirname(__FILE__), "#{difficulty}.rb")) end end diff --git a/modules/generators/challenges/misc/programming/echo_string/secgen_local/challenge.rb b/modules/generators/challenges/misc/programming/echo_string/secgen_local/low.rb similarity index 100% rename from modules/generators/challenges/misc/programming/echo_string/secgen_local/challenge.rb rename to modules/generators/challenges/misc/programming/echo_string/secgen_local/low.rb diff --git a/modules/generators/challenges/misc/programming/echo_string/secgen_metadata.xml b/modules/generators/challenges/misc/programming/echo_string/secgen_metadata.xml index ea7969acc..e05422655 100644 --- a/modules/generators/challenges/misc/programming/echo_string/secgen_metadata.xml +++ b/modules/generators/challenges/misc/programming/echo_string/secgen_metadata.xml @@ -15,6 +15,15 @@ linux windows + difficulty + + + low + + + + + script \ No newline at end of file diff --git a/modules/generators/challenges/misc/programming/ruby_example/secgen_metadata.xml b/modules/generators/challenges/misc/programming/ruby_example/secgen_metadata.xml index bc914d64e..f5c773c1a 100644 --- a/modules/generators/challenges/misc/programming/ruby_example/secgen_metadata.xml +++ b/modules/generators/challenges/misc/programming/ruby_example/secgen_metadata.xml @@ -13,6 +13,19 @@ linux windows + + + + + + + + + + + + + script \ No newline at end of file