# Generated from delta_attributes-1.0.3.gem by gem2rpm -*- rpm-spec -*- %global gem_name delta_attributes Name: rubygem-%{gem_name} Version: 1.0.3 Release: 1%{?dist} Summary: delta attributes License: MIT URL: https://github.com/izbor/delta_attributes Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby BuildArch: noarch %description This gem makes updating specified number fields by ActiveRecord in unusual way. Instead of generating sql script to update value in usual way like this: UPDATE users SET money = 10 WHERE id = 1; It replaces it with UPDATE users SET money = money + delta WHERE id = 1; where delta is difference between old value and new value of that field. This solves problem with simultaneous updating of the same field by different threads (problem known as race condition). Source code: https://github.com/izbor/delta_attributes . %package doc Summary: Documentation for %{name} Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc Documentation for %{name}. %prep %setup -q -n %{gem_name}-%{version} %build # Create the gem as gem install only works on a gem file gem build ../%{gem_name}-%{version}.gemspec # %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir # by default, so that we can move it into the buildroot in %%install %gem_install %install mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ %check pushd .%{gem_instdir} # Run the test suite. popd %files %dir %{gem_instdir} %exclude %{gem_instdir}/.gitignore %license %{gem_instdir}/LICENSE.txt %{gem_libdir} %exclude %{gem_cache} %{gem_spec} %files doc %doc %{gem_docdir} %{gem_instdir}/Gemfile %doc %{gem_instdir}/README.md %{gem_instdir}/Rakefile %{gem_instdir}/delta_attributes.gemspec %changelog * Mon Apr 18 2022 mockbuilder - 1.0.3-1 - Initial package