Sha256: 6b87d1a8b9474459add39d80c259715e5600c4bbbd683cddf4f3569d48a3046b

Contents?: true

Size: 1.33 KB

Versions: 2

Compression:

Stored size: 1.33 KB

Contents

require "ammeter/rspec/generator/example.rb"
require "ammeter/rspec/generator/matchers.rb"
require "ammeter/init"

module GeneratorSpecHelpers
  TEMPLATE_PATH = File.expand_path("../../app_templates", __FILE__)

  def provide_existing_routes_file
    copy_to_generator_root("config", "routes.rb")
  end

  def provide_existing_initializer
    copy_to_generator_root("config/initializers", "clearance.rb")
  end

  def provide_existing_application_controller
    copy_to_generator_root("app/controllers", "application_controller.rb")
  end

  def provide_existing_user_class
    copy_to_generator_root("app/models", versionize_template("user.rb"))
    allow(File).to receive(:exist?).and_call_original
    allow(File).to receive(:exist?).with("app/models/user.rb").and_return(true)
  end

  private

  def copy_to_generator_root(destination, template)
    template_file = File.join(TEMPLATE_PATH, destination, template)
    destination = File.join(destination_root, destination)

    FileUtils.mkdir_p(destination)
    FileUtils.cp(template_file, destination)
  end

  def versionize_template(template_file)
    ["rails5", template_file].join("/")
  end
end

RSpec.configure do |config|
  config.include GeneratorSpecHelpers

  config.before(:example, :generator) do
    destination File.expand_path("../../../tmp", __FILE__)
    prepare_destination
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
clearance-2.0.0 spec/support/generator_spec_helpers.rb
clearance-2.0.0.beta2 spec/support/generator_spec_helpers.rb