[bug#34514,12/34] gnu: Add ruby-with-advisory-lock.

Message ID 20190217192314.5666-12-mail@cbaines.net
State Accepted
Headers show
Series Add more Ruby gems, some Rails related | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied
cbaines/applying patch success Successfully applied

Commit Message

Christopher Baines Feb. 17, 2019, 7:22 p.m. UTC
* gnu/packages/rails.scm (ruby-with-advisory-lock): New variable.
---
 gnu/packages/rails.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

Comments

Ricardo Wurmus Feb. 20, 2019, 10:11 p.m. UTC | #1
Christopher Baines <mail@cbaines.net> writes:

> * gnu/packages/rails.scm (ruby-with-advisory-lock): New variable.
[…]
> +    (description
> +     "Adds advisory locking to ActiveRecord for PostgreSQL and MySQL.  SQLite
> +is also supported, but this uses the filesystem for locks.")

Please use full sentences here.

> +    (home-page "http://closuretree.github.io/with_advisory_lock/")

You can use HTTPS here.

Otherwise LGTM, thanks!
Christopher Baines March 2, 2019, 12:40 p.m. UTC | #2
Ricardo Wurmus <rekado@elephly.net> writes:

> Christopher Baines <mail@cbaines.net> writes:
>
>> * gnu/packages/rails.scm (ruby-with-advisory-lock): New variable.
> […]
>> +    (description
>> +     "Adds advisory locking to ActiveRecord for PostgreSQL and MySQL.  SQLite
>> +is also supported, but this uses the filesystem for locks.")
>
> Please use full sentences here.

I've changed this to "The With advisory lock gem adds advisory locking
to ActiveRecord for PostgreSQL and MySQL.  SQLite is also supported, but
this uses the filesystem for locks." now.

>> +    (home-page "http://closuretree.github.io/with_advisory_lock/")
>
> You can use HTTPS here.

Updated.

Patch

diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm
index 2d7ccceff7..739f97090d 100644
--- a/gnu/packages/rails.scm
+++ b/gnu/packages/rails.scm
@@ -413,6 +413,34 @@  application bootup, plugins, generators, and Rake tasks.")
     "https://github.com/rails/sprockets-rails")
    (license license:expat)))
 
+(define-public ruby-with-advisory-lock
+  (package
+    (name "ruby-with-advisory-lock")
+    (version "4.0.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (rubygems-uri "with_advisory_lock" version))
+       (sha256
+        (base32
+         "1k37hxgmaqgsd54gplm5xim9nw3ghvqsbzaw7q4q64ha1nbd9a41"))))
+    (build-system ruby-build-system)
+    (arguments
+     '(;; TODO Tests require a running MySQL service
+       #:tests? #f))
+    (propagated-inputs
+     `(("ruby-activerecord" ,ruby-activerecord)))
+    (native-inputs
+     `(("bundler" ,bundler)
+       ("ruby-yard" ,ruby-yard)
+       ("ruby-mysql2" ,ruby-mysql2)))
+    (synopsis "Advisory locking for ActiveRecord")
+    (description
+     "Adds advisory locking to ActiveRecord for PostgreSQL and MySQL.  SQLite
+is also supported, but this uses the filesystem for locks.")
+    (home-page "http://closuretree.github.io/with_advisory_lock/")
+    (license license:expat)))
+
 (define-public ruby-rails
   (package
    (name "ruby-rails")