Sha256: bb4f27a21746cda1b545e6ad3d3c2dff7fe704c864d040beeaf002263077fdcb

Contents?: true

Size: 772 Bytes

Versions: 6

Compression:

Stored size: 772 Bytes

Contents

# frozen_string_literal: true

module Rubysmith
  module Builders
    module RSpec
      # Builds RSpec spec helper for project skeleton.
      class Helper
        def self.call realm, builder: Builder
          new(realm, builder: builder).call
        end

        def initialize realm, builder: Builder
          @realm = realm
          @builder = builder
        end

        def call
          return unless realm.build_rspec

          builder.call(realm.with(template_path: "%project_name%/spec/spec_helper.rb.erb"))
                 .render
                 .replace(/\n{3,}/, "\n\n")
                 .replace(/\n\s{2}(?=(require|Simple|using|Pathname|Dir))/, "\n")
        end

        private

        attr_reader :realm, :builder
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rubysmith-0.9.1 lib/rubysmith/builders/rspec/helper.rb
rubysmith-0.9.0 lib/rubysmith/builders/rspec/helper.rb
rubysmith-0.8.0 lib/rubysmith/builders/rspec/helper.rb
rubysmith-0.7.0 lib/rubysmith/builders/rspec/helper.rb
rubysmith-0.6.1 lib/rubysmith/builders/rspec/helper.rb
rubysmith-0.6.0 lib/rubysmith/builders/rspec/helper.rb