aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/ruby.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/ruby.scm')
-rw-r--r--gnu/packages/ruby.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 6e34754f1b..e107714bd4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3172,3 +3172,38 @@ focus concern on individual units of behavior.")
Rubytest-based test frameworks. It provides the @code{rubytest} executable.")
(home-page "http://rubyworks.github.io/rubytest-cli")
(license license:bsd-2)))
+
+(define-public ruby-hashery
+ (package
+ (name "ruby-hashery")
+ (version "2.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "hashery" version))
+ (sha256
+ (base32
+ "0xawbljsjarl9l7700bka672ixwznzwih4s9i38p1y9mp8hyx54g"))))
+ (build-system ruby-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (and (zero? (system* "qed"))
+ (zero? (system* "rubytest" "-Ilib" "-Itest" "test/"))))))))
+ (native-inputs
+ `(("ruby-rubytest-cli" ,ruby-rubytest-cli)
+ ("ruby-qed" ,ruby-qed)
+ ("ruby-lemon" ,ruby-lemon)))
+ (synopsis "Hash-like classes with extra features")
+ (description
+ "The Hashery is a tight collection of @code{Hash}-like classes.
+Included are the auto-sorting @code{Dictionary} class, the efficient
+@code{LRUHash}, the flexible @code{OpenHash} and the convenient
+@code{KeyHash}. Nearly every class is a subclass of the @code{CRUDHash} which
+defines a CRUD (Create, Read, Update and Delete) model on top of Ruby's
+standard @code{Hash} making it possible to subclass and augment to fit any
+specific use case.")
+ (home-page "http://rubyworks.github.io/hashery")
+ (license license:bsd-2)))