guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/229: gnu: Add ruby-stud.


From: guix-commits
Subject: 03/229: gnu: Add ruby-stud.
Date: Tue, 28 Mar 2023 22:28:43 -0400 (EDT)

apteryx pushed a commit to branch master
in repository guix.

commit ffb44f2cbc4633682b72402957b671327b0a28e9
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Wed Mar 1 16:30:43 2023 -0500

    gnu: Add ruby-stud.
    
    * gnu/packages/ruby.scm (ruby-stud): New variable.
---
 gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b55e1c7b7a..84ecdf14db 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1690,6 +1690,43 @@ only what they care about.")
       (home-page "https://github.com/searls/gimme";)
       (license license:expat))))
 
+(define-public ruby-stud
+  (package
+    (name "ruby-stud")
+    (version "0.0.23")
+    (source (origin
+              (method url-fetch)
+              (uri (rubygems-uri "stud" version))
+              (sha256
+               (base32
+                "0qpb57cbpm9rwgsygqxifca0zma87drnlacv49cqs2n5iyi6z8kb"))))
+    (build-system ruby-build-system)
+    (native-inputs (list ruby-rspec))
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        ;; No Rakefile is included, so run rspec directly.
+                        (replace 'check
+                          (lambda* (#:key tests? #:allow-other-keys)
+                            (when tests?
+                              (invoke "rspec")))))))
+    (synopsis "Retries, worker supervision, resource pools and more for Ruby")
+    (description "The Stud Ruby library adds a few things missing from the
+standard Ruby library such as:
+@table @code
+@item {Stud::Try}
+Retry on failure, with back-off, where failure is any exception.
+@item {Stud::Pool}
+Generic resource pools.
+@item {Stud::Task}
+Tasks (threads that can return values, exceptions, etc.)
+@item {Stud.interval}
+Interval execution (do X every N seconds).
+@item {Stud::Buffer}
+Batch and flush behavior.
+@end itemize")
+    (home-page "https://github.com/jordansissel/ruby-stud";)
+    (license license:asl2.0)))
+
 (define-public ruby-standard
   (package
     (name "ruby-standard")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]