命名空间
方法
实例公共方法
create_generated_attribute(attribute_type, name = "test", index = nil) 链接
通过提供属性类型,以及可选的属性名称,创建一个 Rails::Generators::GeneratedAttribute。
create_generated_attribute(:string, "name")
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/testing/behavior.rb, line 86 def create_generated_attribute(attribute_type, name = "test", index = nil) Rails::Generators::GeneratedAttribute.parse([name, attribute_type, index].compact.join(":")) end
generator(args = default_arguments, options = {}, config = {}) 链接
实例化生成器。
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/testing/behavior.rb, line 78 def generator(args = default_arguments, options = {}, config = {}) @generator ||= generator_class.new(args, options, config.reverse_merge(destination_root: destination_root)) end
run_generator(args = default_arguments, config = {}) 链接
运行为此类配置的生成器。第一个参数是一个类似命令行参数的数组。
class AppGeneratorTest < Rails::Generators::TestCase tests AppGenerator destination File.expand_path("../tmp", __dir__) setup :prepare_destination test "database.yml is not created when skipping Active Record" do run_generator %w(myapp --skip-active-record) assert_no_file "config/database.yml" end end
您可以将配置哈希作为第二个参数提供。此方法返回生成器打印的输出。
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/testing/behavior.rb, line 64 def run_generator(args = default_arguments, config = {}) args += ["--skip-bundle"] unless args.include?("--no-skip-bundle") || args.include?("--dev") args += ["--skip-bootsnap"] unless args.include?("--no-skip-bootsnap") || args.include?("--skip-bootsnap") if ENV["RAILS_LOG_TO_STDOUT"] == "true" generator_class.start(args, config.reverse_merge(destination_root: destination_root)) else capture(:stdout) do generator_class.start(args, config.reverse_merge(destination_root: destination_root)) end end end
实例私有方法
prepare_destination() 链接
清除目标中的所有文件和目录。
来源: 显示 | 在 GitHub 上
# File railties/lib/rails/generators/testing/behavior.rb, line 100 def prepare_destination # :doc: rm_rf(destination_root) mkdir_p(destination_root) end