# Generated from cztop-reactor-0.9.0.gem by gem2rpm -*- rpm-spec -*- %global gem_name cztop-reactor Name: rubygem-%{gem_name} Version: 0.9.0 Release: 1%{?dist} Summary: This is an implementation of the Reactor pattern described in [Pattern-Oriented Software Architecture (Volume 2)][POSA2] License: ISC URL: http://deveiate.org/projects/cztop-reactor Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby >= 2.4.0 # BuildRequires: rubygem(hoe-mercurial) >= 1.4 # BuildRequires: rubygem(hoe-mercurial) < 2 # BuildRequires: rubygem(hoe-deveiate) >= 0.10 # BuildRequires: rubygem(hoe-deveiate) < 1 # BuildRequires: rubygem(hoe-highline) >= 0.2 # BuildRequires: rubygem(hoe-highline) < 1 # BuildRequires: rubygem(simplecov) >= 0.13 # BuildRequires: rubygem(simplecov) < 1 # BuildRequires: rubygem(rdoc-generator-fivefish) >= 0.3 # BuildRequires: rubygem(rdoc-generator-fivefish) < 1 # BuildRequires: rubygem(hoe) >= 3.18 # BuildRequires: rubygem(hoe) < 4 BuildArch: noarch %description This is an implementation of the Reactor pattern described in [Pattern-Oriented Software Architecture (Volume 2)][POSA2]. It allows an asynchronous application to be described as one or more "reactions" to events, in this case either I/O conditions on a ZMQ socket or a timer expiring. A simple example: # Start a SERVER socket, and print out any messages sent to it reactor = CZTop::Reactor.new socket = CZTop::Socket::SERVER.new socket.bind( 'tcp://0.0.0.0:8' ) reactor.register( socket, :read ) do |event| if event.readable? message = event.socket.receive puts "Read: %p" % [ message.to_a ] end end reactor.start_polling. %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} %{gem_instdir}/.simplecov %license %{gem_instdir}/LICENSE.txt %{gem_instdir}/Manifest.txt %{gem_libdir} %exclude %{gem_cache} %{gem_spec} %files doc %doc %{gem_docdir} %doc %{gem_instdir}/.document %doc %{gem_instdir}/.rdoc_options %doc %{gem_instdir}/ChangeLog %doc %{gem_instdir}/History.md %doc %{gem_instdir}/README.md %{gem_instdir}/Rakefile %{gem_instdir}/spec %changelog * Mon Sep 13 2021 mockbuilder - 0.9.0-1 - Initial package