# Generated from shrine-3.6.0.gem by gem2rpm -*- rpm-spec -*-
%global gem_name shrine

Name: rubygem-%{gem_name}
Version: 3.6.0
Release: 1%{?dist}
Summary: Toolkit for file attachments in Ruby applications
License: MIT
URL: https://shrinerb.com
Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem
BuildRequires: ruby(release)
BuildRequires: rubygems-devel
BuildRequires: ruby >= 2.3
# BuildRequires: rubygem(minitest) >= 5.8
# BuildRequires: rubygem(minitest) < 6
# BuildRequires: rubygem(mocha) >= 1.11
# BuildRequires: rubygem(mocha) < 2
# BuildRequires: rubygem(rack) >= 2
# BuildRequires: rubygem(rack) < 4
# BuildRequires: rubygem(http-form_data) >= 2.2
# BuildRequires: rubygem(http-form_data) < 3
# BuildRequires: rubygem(rack-test) >= 2.1
# BuildRequires: rubygem(rack-test) < 3
# BuildRequires: rubygem(mimemagic) >= 0.3.2
# BuildRequires: rubygem(marcel)
# BuildRequires: rubygem(ruby-filemagic) >= 0.7
# BuildRequires: rubygem(ruby-filemagic) < 1
# BuildRequires: rubygem(mime-types)
# BuildRequires: rubygem(mini_mime) >= 1.0
# BuildRequires: rubygem(mini_mime) < 2
# BuildRequires: rubygem(fastimage)
# BuildRequires: rubygem(mini_magick) >= 4.0
# BuildRequires: rubygem(mini_magick) < 5
# BuildRequires: rubygem(ruby-vips) >= 2.0
# BuildRequires: rubygem(ruby-vips) < 3
# BuildRequires: rubygem(aws-sdk-s3) >= 1.69
# BuildRequires: rubygem(aws-sdk-s3) < 2
# BuildRequires: rubygem(aws-sdk-core) >= 3.23
# BuildRequires: rubygem(aws-sdk-core) < 4
# BuildRequires: rubygem(rexml)
# BuildRequires: rubygem(dry-monitor)
# BuildRequires: rubygem(activesupport) >= 7.0
# BuildRequires: rubygem(activesupport) < 8
# BuildRequires: rubygem(sequel)
# BuildRequires: rubygem(activerecord) >= 7.0
# BuildRequires: rubygem(activerecord) < 8
# BuildRequires: rubygem(sqlite3) >= 1.4
# BuildRequires: rubygem(sqlite3) < 2
BuildArch: noarch

%description
Shrine is a toolkit for file attachments in Ruby applications. It supports
uploading, downloading, processing and deleting IO objects, backed by various
storage engines. It uses efficient streaming for low memory usage.
Shrine comes with a high-level interface for attaching uploaded files to
database records, saving their location and metadata to a database column, and
tying them to record's lifecycle. It natively supports background jobs and
direct uploads for fully asynchronous user experience.


%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}
# ruby -e 'Dir.glob "./test/**/*_test.rb", &method(:require)'
popd

%files
%dir %{gem_instdir}
%license %{gem_instdir}/LICENSE.txt
%{gem_libdir}
%exclude %{gem_cache}
%{gem_spec}

%files doc
%doc %{gem_docdir}
%doc %{gem_instdir}/CHANGELOG.md
%doc %{gem_instdir}/README.md
%doc %{gem_instdir}/doc
%{gem_instdir}/shrine.gemspec

%changelog
* Mon Apr 29 2024 mockbuilder - 3.6.0-1
- Initial package