Sha256: acbd8d132c2ed7a600d4dcaf7a2a4c2b127b841de103cd94fa9ec19eaceccc5b
Contents?: true
Size: 940 Bytes
Versions: 41
Compression:
Stored size: 940 Bytes
Contents
# frozen_string_literal: true require "refinements/structs" module Rubysmith module Builders module RSpec # Builds RSpec shared context for temporary directories. class Context using Refinements::Structs def self.call(...) = new(...).call def initialize configuration, builder: Builder @configuration = configuration @builder = builder end def call return configuration unless configuration.build_rspec template = "%project_name%/spec/support/shared_contexts/temp_dir.rb.erb" configuration.merge(template_path: template) .then { |updated_configuration| builder.call updated_configuration } .render .replace(/\n\s+\n\s+/, "\n ") configuration end private attr_reader :configuration, :builder end end end end
Version data entries
41 entries across 41 versions & 1 rubygems