class Rockstart::Testing::RspecGenerator

Public Instance Methods

add_rspec_support() click to toggle source
# File lib/generators/rockstart/testing/rspec/rspec_generator.rb, line 17
def add_rspec_support
  directory "support", "spec/support"
end
install_rspec_rails() click to toggle source
# File lib/generators/rockstart/testing/rspec/rspec_generator.rb, line 9
def install_rspec_rails
  Dir.mktmpdir do |dir|
    generate_rspec_install(dir)
    template File.join(dir, ".rspec"), ".rspec"
    directory File.join(dir, "spec"), "spec"
  end
end

Private Instance Methods

enable_support_directory(dir) click to toggle source
# File lib/generators/rockstart/testing/rspec/rspec_generator.rb, line 48
def enable_support_directory(dir)
  uncomment_lines File.join(dir, "spec", "rails_helper.rb"), /Dir.+spec.+support.+\.rb/
end
generate_rspec_install(dir) click to toggle source
# File lib/generators/rockstart/testing/rspec/rspec_generator.rb, line 23
def generate_rspec_install(dir)
  require "generators/rspec/install/install_generator"

  initializer = ::Rspec::Generators::InstallGenerator.new(
    report_stream: StringIO.new
  )
  initializer.destination_root = dir
  initializer.invoke_all

  prepend_simplecov_start(dir)
  enable_support_directory(dir)
end
prepend_simplecov_start(dir) click to toggle source
# File lib/generators/rockstart/testing/rspec/rspec_generator.rb, line 36
    def prepend_simplecov_start(dir)
      prepend_file File.join(dir, "spec", "spec_helper.rb"), <<~SIMPLECOV
        # frozen_string_literal: true

        require "simplecov"
        SimpleCov.start("rails") do
          add_filter "/lib/templates"
        end

      SIMPLECOV
    end