Я работаю над приложением для автоматизации тестирования на уязвимость SQL-инъекций. В настоящее время он называется Deft и предназначен для университетского проекта.
Я хочу запускать тесты из командной строки или интерактивной консоли. Я кодирую несколько классов. (Deft::Cli
, Deft::Console
и т. Д.)
Вот то, что я думаю, я бы хотел сделать.
module Deft
module App
attr_accessor :origin
@origin = { "host" => "localhost", "port" => "80" }
end
end
module Deft
class Console
include App
def initialize
puts origin
end
end
end
Пример был упрощен, но дело в том, что значения (и структура) по умолчанию определяются в модуле Deft::App
.
Проблема, которую я могу сказать, заключается в том, что, хотя methods.grep(/origin/)
внутри консольного экземпляра действительно дает мне ["origin=", "origin"]
вызов origin
возвращает nil
. Вместо значений, которые я определяю в Deft::App
. Имеет смысл, что это не работает, но я не знаю, как заставить это работать.