public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/rubygem-factory_bot] f44: Unretirement request: https://forge.fedoraproject.org/releng/fedora-scm-requests/issues/715
@ 2026-09-04 13:41 releng-bot
0 siblings, 0 replies; only message in thread
From: releng-bot @ 2026-09-04 13:41 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/rubygem-factory_bot
Branch : f44
Commit : e6c4d78485adcb2cdb94e2197b97a22cf943a2ac
Author : releng-bot <releng-bot@fedoraproject.org>
Date : 2026-09-04T13:14:26+00:00
Stats : +365/-1 in 5 file(s)
URL : https://src.fedoraproject.org/rpms/rubygem-factory_bot/c/e6c4d78485adcb2cdb94e2197b97a22cf943a2ac?branch=f44
Log:
Unretirement request: https://forge.fedoraproject.org/releng/fedora-scm-requests/issues/715
---
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d8a387b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+/factory_bot-*.gem
+/factory_bot-*-specs.txz
+/factory_bot-*-features.txz
diff --git a/dead.package b/dead.package
deleted file mode 100644
index 5204a84..0000000
--- a/dead.package
+++ /dev/null
@@ -1 +0,0 @@
-Orphaned for 6+ weeks
diff --git a/rubygem-factory_bot-pr1561-ruby32-ruby32-did_you_mean-test.patch b/rubygem-factory_bot-pr1561-ruby32-ruby32-did_you_mean-test.patch
new file mode 100644
index 0000000..8056e18
--- /dev/null
+++ b/rubygem-factory_bot-pr1561-ruby32-ruby32-did_you_mean-test.patch
@@ -0,0 +1,147 @@
+From f571e1906d805f021f68a721d2161fea7add2a3d Mon Sep 17 00:00:00 2001
+From: Daniel Colson <danieljamescolson@gmail.com>
+Date: Sun, 25 Dec 2022 21:03:29 -0500
+Subject: [PATCH] Pass key and receiver to custom key errors
+
+did_you_mean tests started failing on Ruby 3.2 because of
+https://bugs.ruby-lang.org/issues/18564.
+
+This gets did_you_mean working again for Ruby 3.2 by adding the original
+KeyError's key and receiver over to the custom KeyError. That way the
+did_you_mean can get added to the custom KeyError via the new
+detailed_message.
+---
+ lib/factory_bot/definition.rb | 29 +++++++++++++------
+ lib/factory_bot/registry.rb | 18 ++++++++++--
+ spec/acceptance/traits_spec.rb | 8 +----
+ spec/factory_bot/registry_spec.rb | 3 +-
+ .../matchers/raise_did_you_mean_error.rb | 18 ++++++++++++
+ 5 files changed, 55 insertions(+), 21 deletions(-)
+ create mode 100644 spec/support/matchers/raise_did_you_mean_error.rb
+
+diff --git a/lib/factory_bot/definition.rb b/lib/factory_bot/definition.rb
+index ab6b34156..1294ac569 100644
+--- a/lib/factory_bot/definition.rb
++++ b/lib/factory_bot/definition.rb
+@@ -115,15 +115,26 @@ def base_traits
+ raise error_with_definition_name(error)
+ end
+
+- def error_with_definition_name(error)
+- message = error.message
+- message.insert(
+- message.index("\nDid you mean?") || message.length,
+- " referenced within \"#{name}\" definition"
+- )
+-
+- error.class.new(message).tap do |new_error|
+- new_error.set_backtrace(error.backtrace)
++ # detailed_message introduced in Ruby 3.2 for cleaner integration with
++ # did_you_mean. See https://bugs.ruby-lang.org/issues/18564
++ if KeyError.method_defined?(:detailed_message)
++ def error_with_definition_name(error)
++ message = error.message + " referenced within \"#{name}\" definition"
++
++ error.class.new(message, key: error.key, receiver: error.receiver)
++ .tap { |new_error| new_error.set_backtrace(error.backtrace) }
++ end
++ else
++ def error_with_definition_name(error)
++ message = error.message
++ message.insert(
++ message.index("\nDid you mean?") || message.length,
++ " referenced within \"#{name}\" definition"
++ )
++
++ error.class.new(message).tap do |new_error|
++ new_error.set_backtrace(error.backtrace)
++ end
+ end
+ end
+
+diff --git a/lib/factory_bot/registry.rb b/lib/factory_bot/registry.rb
+index c7eb03981..e58c4d5b8 100644
+--- a/lib/factory_bot/registry.rb
++++ b/lib/factory_bot/registry.rb
+@@ -39,9 +39,21 @@ def registered?(name)
+
+ def key_error_with_custom_message(key_error)
+ message = key_error.message.sub("key not found", "#{@name} not registered")
+- error = KeyError.new(message)
+- error.set_backtrace(key_error.backtrace)
+- error
++ new_key_error(message, key_error).tap do |error|
++ error.set_backtrace(key_error.backtrace)
++ end
++ end
++
++ # detailed_message introduced in Ruby 3.2 for cleaner integration with
++ # did_you_mean. See https://bugs.ruby-lang.org/issues/18564
++ if KeyError.method_defined?(:detailed_message)
++ def new_key_error(message, key_error)
++ KeyError.new(message, key: key_error.key, receiver: key_error.receiver)
++ end
++ else
++ def new_key_error(message, _)
++ KeyError.new(message)
++ end
+ end
+ end
+ end
+diff --git a/spec/acceptance/traits_spec.rb b/spec/acceptance/traits_spec.rb
+index 293f9635a..24289cf7f 100644
+--- a/spec/acceptance/traits_spec.rb
++++ b/spec/acceptance/traits_spec.rb
+@@ -324,13 +324,7 @@ def build_user_factory_with_admin_trait(trait_name)
+ end
+ end
+
+- expect { FactoryBot.build(:user) }.to raise_error(
+- KeyError,
+- <<~MSG.strip
+- Trait not registered: "not_quite" referenced within "user" definition
+- Did you mean? "not_quit"
+- MSG
+- )
++ expect { FactoryBot.build(:user) }.to raise_did_you_mean_error
+ end
+ end
+
+diff --git a/spec/factory_bot/registry_spec.rb b/spec/factory_bot/registry_spec.rb
+index e793ec670..4749658a8 100644
+--- a/spec/factory_bot/registry_spec.rb
++++ b/spec/factory_bot/registry_spec.rb
+@@ -33,8 +33,7 @@
+ registered_object = double(:registered_object)
+ registry.register(:factory_bot, registered_object)
+
+- expect { registry.find(:factory_bit) }
+- .to raise_error(KeyError, /Did you mean\? "factory_bot"/)
++ expect { registry.find(:factory_bit) }.to raise_did_you_mean_error
+ end
+
+ it "adds and returns the object registered" do
+diff --git a/spec/support/matchers/raise_did_you_mean_error.rb b/spec/support/matchers/raise_did_you_mean_error.rb
+new file mode 100644
+index 000000000..dd5579ffe
+--- /dev/null
++++ b/spec/support/matchers/raise_did_you_mean_error.rb
+@@ -0,0 +1,18 @@
++RSpec::Matchers.define :raise_did_you_mean_error do
++ supports_block_expectations
++
++ match do |actual|
++ # detailed_message introduced in Ruby 3.2 for cleaner integration with
++ # did_you_mean. See https://bugs.ruby-lang.org/issues/18564
++ matcher = if KeyError.method_defined?(:detailed_message)
++ raise_error(
++ an_instance_of(KeyError)
++ .and(having_attributes(detailed_message: /Did you mean\?/))
++ )
++ else
++ raise_error(KeyError, /Did you mean\?/)
++ end
++
++ expect(actual).to matcher
++ end
++end
diff --git a/rubygem-factory_bot.spec b/rubygem-factory_bot.spec
new file mode 100644
index 0000000..ddd0586
--- /dev/null
+++ b/rubygem-factory_bot.spec
@@ -0,0 +1,212 @@
+%global gem_name factory_bot
+
+Name: rubygem-%{gem_name}
+Version: 6.2.1
+Release: 8%{?dist}
+Summary: Framework and DSL for defining and using model instance factories
+License: MIT
+URL: https://github.com/thoughtbot/factory_bot
+Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
+# git clone --no-checkout https://github.com/thoughtbot/factory_bot.git
+# git -C factory_bot archive -v -o factory_bot-6.2.1-specs.txz v6.2.1 spec/
+Source1: %{gem_name}-%{version}-specs.txz
+# git clone --no-checkout https://github.com/thoughtbot/factory_bot.git
+# git -C factory_bot archive -v -o factory_bot-6.2.1-features.txz v6.2.1 features/
+Source2: %{gem_name}-%{version}-features.txz
+# https://github.com/thoughtbot/factory_bot/pull/1561
+# ruby3.2 changes did_you_mean behavior
+Patch0: %{name}-pr1561-ruby32-ruby32-did_you_mean-test.patch
+BuildRequires: ruby(release)
+BuildRequires: rubygems-devel
+BuildRequires: ruby
+BuildRequires: rubygem(rspec)
+BuildRequires: rubygem(rspec-its)
+BuildRequires: rubygem(activerecord)
+BuildRequires: rubygem(sqlite3)
+BuildRequires: %{_bindir}/cucumber
+BuildRequires: rubygem(aruba)
+BuildArch: noarch
+# Gem was renamed.
+# https://github.com/thoughtbot/factory_bot/commit/e083f4a904ae30d170872385d4be3b37d44276e5
+Obsoletes: rubygem-factory_girl < 4.10.0
+
+%description
+Framework and DSL for defining and using factories - less error-prone,
+more explicit, and all-around easier to work with than fixtures.
+
+
+%package doc
+Summary: Documentation for %{name}
+Requires: %{name} = %{version}-%{release}
+BuildArch: noarch
+
+%description doc
+Documentation for %{name}.
+
+%prep
+# Unpack Source1 and Source2
+%setup -q -n %{gem_name}-%{version} -b 1 -b 2
+(
+cd %{_builddir}
+mv %{gem_name}-%{version}/lib .
+%patch -P0 -p1
+mv lib %{gem_name}-%{version}
+)
+
+%build
+gem build ../%{gem_name}-%{version}.gemspec
+%gem_install
+
+%install
+mkdir -p %{buildroot}%{gem_dir}
+cp -a .%{gem_dir}/* \
+ %{buildroot}%{gem_dir}/
+
+%check
+pushd .%{gem_instdir}
+# Symlinks don't work for this test suite
+cp -a %{_builddir}/spec .
+
+# We don't care about coverage.
+sed -i "/simplecov/ s/^/#/" spec/spec_helper.rb
+
+rspec -rfileutils -rspec_helper spec
+
+ln -s %{_builddir}/features .
+sed -i "/simplecov/ s/^/#/" features/support/env.rb
+
+cucumber
+popd
+
+%files
+%dir %{gem_instdir}
+%exclude %{gem_instdir}/.*
+%license %{gem_instdir}/LICENSE
+%{gem_libdir}
+%exclude %{gem_cache}
+%{gem_spec}
+
+%files doc
+%doc %{gem_docdir}
+%doc %{gem_instdir}/CONTRIBUTING.md
+%doc %{gem_instdir}/GETTING_STARTED.md
+%doc %{gem_instdir}/NAME.md
+%doc %{gem_instdir}/NEWS.md
+%doc %{gem_instdir}/README.md
+
+%changelog
+* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.1-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.1-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Tue Jan 17 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 6.2.1-3
+- Backport upstream patch for ruby3.2 did_you_mean behavior change
+
+* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Sat Mar 19 2022 Pavel Valena <pvalena@redhat.com> - 6.2.1-1
+- Update to factory_bot 6.2.1.
+ Resolves: rhbz#2065683
+
+* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Nov 26 2021 Jarek Prokop <jprokop@redhat.com> - 6.2.0-1
+- Upgrade to rubygem-factory_bot 6.2.0.
+
+* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.0-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.0-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.10.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Wed Aug 01 2018 Pavel Valena <pvalena@redhat.com> - 4.10.0-1
+- Upgrade to factory_bot 4.10.0.
+- Renamed from factory_girl to factory_bot.
+
+* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Wed Jul 12 2017 Vít Ondruch <vondruch@redhat.com> - 4.8.0-1
+- Update to factory_girl 4.8.0.
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.2-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.2-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Wed Mar 06 2013 Vít Ondruch <vondruch@redhat.com> - 2.3.2-6
+- Rebuild for https://fedoraproject.org/wiki/Features/Ruby_2.0.0
+
+* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Mon Feb 06 2012 Bohuslav Kabrda <bkabrda@redhat.com> - 2.3.2-3
+- Rebuilt for Ruby 1.9.3.
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Tue Dec 13 2011 Michal Fojtik <mfojtik@redhat.com> - 2.3.2-1
+- Version bump
+
+* Tue Jul 05 2011 Chris Lalancette <clalance@redhat.com> - 1.3.2-5
+- Fixes to build in rawhide
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Thu Oct 14 2010 Michal Fojtik <mfojtik@redhat.com> - 1.3.2-3
+- Replaced path with path macro
+
+* Wed Oct 13 2010 Michal Fojtik <mfojtik@redhat.com> - 1.3.2-2
+- Rakefile fixing moved to a separate patch
+- Fixed unneeded Requires
+- Fixed directory ownership on doc subpackage
+- README and LICENSE moved back to main package
+
+* Sat Oct 02 2010 Michal Fojtik <mfojtik@redhat.com> - 1.3.2-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..6b46933
--- /dev/null
+++ b/sources
@@ -0,0 +1,3 @@
+SHA512 (factory_bot-6.2.1.gem) = 6a3eadbfe77a1261621614bfb2a66d4800f2b4b3307623ed58f74aaf26070e54c411d27f0bf4ccc6059590fb1815143cafb131e4f6a84b59c80ed0685755c24a
+SHA512 (factory_bot-6.2.1-specs.txz) = 3a64f130462d90f7ffdb7395a3615cd4a76de05bab93d162b3bcfaf85cae353c6ac3f75cd145875c25ee8caf8be5dc8e05f779097cd539db451c77f4895476c3
+SHA512 (factory_bot-6.2.1-features.txz) = d2f12ad31bd9d50b1c9ef9df37444b2a44051f9e12ba28d2b8504f34d377121dc8410f5e03b742398878078eba2bdca2d1b2c1afcd1c63b3e53e314992952cb8
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-04 13:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-04 13:41 [rpms/rubygem-factory_bot] f44: Unretirement request: https://forge.fedoraproject.org/releng/fedora-scm-requests/issues/715 releng-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox