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