%global gem_name rack-attack # actionpack not in EPEL 7 %if 0%{?rhel} && 0%{?rhel} <= 7 %global use_tests 0 %else %global use_tests 1 %endif Name: rubygem-%{gem_name} Version: 5.0.1 Release: 1%{?dist} Summary: Block & throttle abusive requests Group: Development/Languages License: MIT URL: http://github.com/kickstarter/rack-attack Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem Source1: https://raw.githubusercontent.com/kickstarter/rack-attack/master/LICENSE BuildArch: noarch BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: rubygem(rack) %if 0%{?use_tests} BuildRequires: rubygem(actionpack) BuildRequires: rubygem(activesupport) BuildRequires: rubygem(minitest) BuildRequires: rubygem(rack-test) %endif %if 0%{?rhel} && 0%{?rhel} <= 7 Requires: ruby(release) Requires: ruby(rubygems) Requires: rubygem(rack) Provides: rubygem(%{gem_name}) = %{version} %endif %description A rack middleware for throttling and blocking abusive requests. %package doc Summary: Documentation for %{name} Group: Documentation BuildArch: noarch Requires: %{name} = %{version}-%{release} %description doc Documentation for %{name}. %prep gem unpack %{SOURCE0} %setup -q -D -T -n %{gem_name}-%{version} gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec %build gem build %{gem_name}.gemspec %gem_install %install mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ cp -p %{SOURCE1} . %check %if 0%{?use_tests} pushd .%{gem_instdir} # kill the bundler sed -e '1,/bundler\/setup/d' -i spec/spec_helper.rb # launch without integration tests ruby -Ilib -e 'Dir.glob "./spec/*_spec.rb", &method(:require)' popd %endif %files %dir %{gem_instdir}/ %license LICENSE %{gem_libdir}/ %{gem_spec} %exclude %{gem_instdir}/spec/ %exclude %{gem_instdir}/Rakefile %exclude %{gem_cache} %files doc %doc %{gem_docdir}/ %doc %{gem_instdir}/README.md %changelog * Mon Aug 28 2017 František Dvořák - 5.0.1-1 - Initial package