Sha256: 52159d26f8c37aaf77291491327905d6a062025e88a40c08eda2335cb91ea24f

Contents?: true

Size: 970 Bytes

Versions: 1

Compression:

Stored size: 970 Bytes

Contents

# frozen_string_literal: true

require "refinements/struct"

module Hanamismith
  module Builders
    module RSpec
      # Builds project skeleton RSpec helper.
      class Helper < Rubysmith::Builders::RSpec::Helper
        using Refinements::Struct

        def initialize(...)
          super
          @template = builder.call configuration.merge(
            template_path: "%project_name%/spec/spec_helper.rb.erb"
          )
        end

        def call
          return configuration unless configuration.build_rspec

          super
          remove_project_requirement
          disable_simple_cov_eval
          configuration
        end

        private

        attr_reader :template

        def remove_project_requirement
          template.replace(/require.+#{configuration.project_name}.+\n/, "")
        end

        def disable_simple_cov_eval
          template.replace(/\s{4}enable_coverage_for_eval\n/, "")
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hanamismith-0.38.0 lib/hanamismith/builders/rspec/helper.rb