git: c8047bc6080c - main - devel/rubygem-sucker_punch: Add rubygem-sucker_punch 3.0.1

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Tue, 11 Jan 2022 18:52:18 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c8047bc6080c724b583f67b0a104eccf1df6f8f0

commit c8047bc6080c724b583f67b0a104eccf1df6f8f0
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2022-01-11 16:42:52 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2022-01-11 18:43:44 +0000

    devel/rubygem-sucker_punch: Add rubygem-sucker_punch 3.0.1
    
    Sucker Punch is a single-process Ruby asynchronous processing library. This
    reduces costs of hosting on a service like Heroku along with the memory
    footprint of having to maintain additional jobs if hosting on a dedicated
    server. All queues can run within a single application (eg. Rails, Sinatra,
    etc.) process.
    
    Sucker Punch is perfect for asynchronous processes like emailing, data
    crunching, or social platform manipulation. No reason to hold up a user when you
    can do these things in the background within the same process as your web
    application.
    
    Sucker Punch is built on top of concurrent-ruby. Each job is setup as a pool,
    which equates to its own queue with individual workers working against the jobs.
    Unlike most other background processing libraries, Sucker Punch's jobs are
    stored in memory. The benefit to this is there is no additional infrastructure
    requirement (ie. database, redis, etc.). However, if the web processes are
    restarted with jobs remaining in the queue, they will be lost. For this reason,
    Sucker Punch is generally recommended for jobs that are fast and non-mission
    critical (ie. logs, emails, etc.).
    
    WWW: https://github.com/brandonhilkert/sucker_punch
---
 devel/Makefile                       |  1 +
 devel/rubygem-sucker_punch/Makefile  | 21 +++++++++++++++++++++
 devel/rubygem-sucker_punch/distinfo  |  3 +++
 devel/rubygem-sucker_punch/pkg-descr | 21 +++++++++++++++++++++
 4 files changed, 46 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 7deba465d0fe..da0146c43b91 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -6852,6 +6852,7 @@
     SUBDIR += rubygem-structured_warnings
     SUBDIR += rubygem-stud
     SUBDIR += rubygem-subexec
+    SUBDIR += rubygem-sucker_punch
     SUBDIR += rubygem-sugar-high
     SUBDIR += rubygem-sumbur
     SUBDIR += rubygem-sundawg_country_codes
diff --git a/devel/rubygem-sucker_punch/Makefile b/devel/rubygem-sucker_punch/Makefile
new file mode 100644
index 000000000000..4b6ba47f1ead
--- /dev/null
+++ b/devel/rubygem-sucker_punch/Makefile
@@ -0,0 +1,21 @@
+# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
+
+PORTNAME=	sucker_punch
+PORTVERSION=	3.0.1
+CATEGORIES=	devel rubygems
+MASTER_SITES=	RG
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	Asynchronous processing library for Ruby
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+RUN_DEPENDS=	rubygem-concurrent-ruby>=1.0<2:devel/rubygem-concurrent-ruby
+
+USES=		gem
+USE_RUBY=	yes
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/rubygem-sucker_punch/distinfo b/devel/rubygem-sucker_punch/distinfo
new file mode 100644
index 000000000000..5f2b562e591a
--- /dev/null
+++ b/devel/rubygem-sucker_punch/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1641045730
+SHA256 (rubygem/sucker_punch-3.0.1.gem) = b49319778750e56b8c5add6a227727ef3dc3c327756bdf7e3bf236cb89d05579
+SIZE (rubygem/sucker_punch-3.0.1.gem) = 18432
diff --git a/devel/rubygem-sucker_punch/pkg-descr b/devel/rubygem-sucker_punch/pkg-descr
new file mode 100644
index 000000000000..70434d7eab40
--- /dev/null
+++ b/devel/rubygem-sucker_punch/pkg-descr
@@ -0,0 +1,21 @@
+Sucker Punch is a single-process Ruby asynchronous processing library. This
+reduces costs of hosting on a service like Heroku along with the memory
+footprint of having to maintain additional jobs if hosting on a dedicated
+server. All queues can run within a single application (eg. Rails, Sinatra,
+etc.) process.
+
+Sucker Punch is perfect for asynchronous processes like emailing, data
+crunching, or social platform manipulation. No reason to hold up a user when you
+can do these things in the background within the same process as your web
+application.
+
+Sucker Punch is built on top of concurrent-ruby. Each job is setup as a pool,
+which equates to its own queue with individual workers working against the jobs.
+Unlike most other background processing libraries, Sucker Punch's jobs are
+stored in memory. The benefit to this is there is no additional infrastructure
+requirement (ie. database, redis, etc.). However, if the web processes are
+restarted with jobs remaining in the queue, they will be lost. For this reason,
+Sucker Punch is generally recommended for jobs that are fast and non-mission
+critical (ie. logs, emails, etc.).
+
+WWW: https://github.com/brandonhilkert/sucker_punch