aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-01 16:30:43 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-03-28 22:22:06 -0400
commitffb44f2cbc4633682b72402957b671327b0a28e9 (patch)
tree4af4536bf16a99a7b44659870877bfe370661834
parent166c88c97f76e0dd7a05a6c0f9fb735df004cecf (diff)
downloadguix-ffb44f2cbc4633682b72402957b671327b0a28e9.tar.gz
guix-ffb44f2cbc4633682b72402957b671327b0a28e9.zip
gnu: Add ruby-stud.
* gnu/packages/ruby.scm (ruby-stud): New variable.
-rw-r--r--gnu/packages/ruby.scm37
1 files changed, 37 insertions, 0 deletions
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")