Я не вижу, в чем проблема с плагином, имеющим зависимости, если они квалифицированы и легко понятны. Плагин Rails - ничто без Rails, и часто для этого требуется определенная версия.
В плохом дизайне есть плагин, который разрушает приложение, если оно не может загружаться должным образом, вместо того, чтобы создавать какое-то полезное сообщение. Например, вы можете протестировать среду перед запуском в фут-первых.
Очень грубый способ сделать это, но, по крайней мере, дать обратную связь, может выглядеть так в инициализаторе для вашего плагина:
unless (defined?(MyApp))
raise "MyAppPlugin requires MyApp to be installed"
end
Вы можете сделать это более элегантно, создавая частные драгоценные камни для своего приложения и устанавливая требования более формально. Новая система Bundler делает это возможным.