# Generated from typed-array-0.1.2.gem by gem2rpm -*- rpm-spec -*- %global gem_name typed-array Name: rubygem-%{gem_name} Version: 0.1.2 Release: 1%{?dist} Summary: Provides methods for creating type-enforced Arrays License: MIT URL: http://github.com/yaauie/typed-array Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby # BuildRequires: rubygem(rspec) >= 2.3.0 # BuildRequires: rubygem(rspec) < 2.4 # BuildRequires: rubygem(jeweler) >= 1.6.4 # BuildRequires: rubygem(jeweler) < 1.7 # BuildRequires: rubygem(rcov) BuildArch: noarch %description All methods that alter the contents of an array that implements this Gem are first checked to ensure that the added items are of the types allowed. All methods behave exactly as their Array counterparts, including additional forms, block processing, etc. Defining a TypedArray Class: ```ruby class ThingsArray < Array extend TypedArray restrict_types Thing1, Thing2 end things = ThingsArray.new ``` Generating a single TypedArray ```ruby things = TypedArray(Thing1,Thing2).new These classes can be extended, and their accepted-types appended to after their initial definition. %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} # rspec spec popd %files %dir %{gem_instdir} %license %{gem_instdir}/LICENSE.txt %{gem_instdir}/VERSION %{gem_libdir} %exclude %{gem_cache} %{gem_spec} %files doc %doc %{gem_docdir} %doc %{gem_instdir}/.document %exclude %{gem_instdir}/.rspec %{gem_instdir}/Gemfile %{gem_instdir}/Gemfile.lock %doc %{gem_instdir}/README.rdoc %{gem_instdir}/Rakefile %{gem_instdir}/spec %{gem_instdir}/typed-array.gemspec %changelog * Wed Aug 25 2021 mockbuilder - 0.1.2-1 - Initial package