From 49679362bf89609b7c50241e14e1f01b4f0eb1f1 Mon Sep 17 00:00:00 2001 From: Yousaf Nabi Date: Wed, 10 Jun 2026 12:03:45 +0100 Subject: [PATCH] fix: move pact/rspec to pact/support/rspec Requires updates for consumers from Pact::Rspec to Pact::Support::Rspec imports from require "pact/rspec" to require "pact/shared/rspec" BREAKING CHANGE --- lib/pact/rspec.rb | 51 ---------------------------------- lib/pact/support/rspec.rb | 54 ++++++++++++++++++++++++++++++++++++ spec/support/spec_support.rb | 4 +-- 3 files changed, 56 insertions(+), 53 deletions(-) delete mode 100644 lib/pact/rspec.rb create mode 100644 lib/pact/support/rspec.rb diff --git a/lib/pact/rspec.rb b/lib/pact/rspec.rb deleted file mode 100644 index 6b58f24..0000000 --- a/lib/pact/rspec.rb +++ /dev/null @@ -1,51 +0,0 @@ -# This is horrible, must work out a better way of doing this -module Pact - module RSpec - - def self.color_enabled? - if ::RSpec.configuration.respond_to?(:color_enabled?) - ::RSpec.configuration.color_enabled?(::RSpec.configuration.output_stream) - else - ::RSpec.configuration.color_enabled? - end - end - - def self.formatter_class - if ::RSpec::Core::Formatters.respond_to?(:register) - require 'pact/provider/rspec/formatter_rspec_3' - Pact::Provider::RSpec::Formatter - else - require 'pact/provider/rspec/formatter_rspec_2' - Pact::Provider::RSpec::Formatter2 - end - end - - def self.full_description example - example.respond_to?(:full_description) ? example.full_description : example.example.full_description - end - - def self.runner_defined? - defined?(::RSpec::Core::Runner) - end - - def self.is_rspec_3 - defined?(::RSpec) && ::RSpec::Core::Formatters.respond_to?(:register) - end - - def self.is_rspec_2 - defined?(::RSpec) && !is_rspec_3 - end - - def self.with_rspec_3 - if is_rspec_3 - yield - end - end - - def self.with_rspec_2 - if is_rspec_2 - yield - end - end - end -end \ No newline at end of file diff --git a/lib/pact/support/rspec.rb b/lib/pact/support/rspec.rb new file mode 100644 index 0000000..305db27 --- /dev/null +++ b/lib/pact/support/rspec.rb @@ -0,0 +1,54 @@ +# This is horrible, must work out a better way of doing this +module Pact + module Support + module RSpec + + def self.color_enabled? + if ::RSpec.configuration.respond_to?(:color_enabled?) + ::RSpec.configuration.color_enabled?(::RSpec.configuration.output_stream) + else + ::RSpec.configuration.color_enabled? + end + end + + def self.formatter_class + if ::RSpec::Core::Formatters.respond_to?(:register) + require 'pact/provider/rspec/formatter_rspec_3' + Pact::Provider::RSpec::Formatter + else + require 'pact/provider/rspec/formatter_rspec_2' + Pact::Provider::RSpec::Formatter2 + end + end + + def self.full_description example + example.respond_to?(:full_description) ? example.full_description : example.example.full_description + end + + def self.runner_defined? + defined?(::RSpec::Core::Runner) + end + + def self.is_rspec_3 + defined?(::RSpec) && ::RSpec::Core::Formatters.respond_to?(:register) + end + + def self.is_rspec_2 + defined?(::RSpec) && !is_rspec_3 + end + + def self.with_rspec_3 + if is_rspec_3 + yield + end + end + + def self.with_rspec_2 + if is_rspec_2 + yield + end + end + end + + end +end \ No newline at end of file diff --git a/spec/support/spec_support.rb b/spec/support/spec_support.rb index eb3c808..82ea294 100644 --- a/spec/support/spec_support.rb +++ b/spec/support/spec_support.rb @@ -1,4 +1,4 @@ -require 'pact/rspec' +require 'pact/support/rspec' module Pact module SpecSupport @@ -18,7 +18,7 @@ def remove_ansicolor string string.gsub(/\e\[(\d+)m/, '') end - Pact::RSpec.with_rspec_2 do + Pact::Support::RSpec.with_rspec_2 do def instance_double *args double(*args)