marloss 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +4 -4
- data/README.md +2 -0
- data/lib/marloss/store.rb +7 -5
- data/lib/marloss/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9a5275a505a39c3b7325bf7039b57f53be932ee4
|
4
|
+
data.tar.gz: 712901ed5c0e65f4916c3cd5ffd4ada17ee832ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 626ecb02605de98c1f4ff04801c05cbde48928b9b9edea654498aa569c5227bc35f5c6db189c18f4d372c911c25ab40497ca880ed30aba251a411fa39d59604e
|
7
|
+
data.tar.gz: 790f2b3a14ecbbffdbc7a0f08fc7d2abfb5e98e5d69409bc5b22d28ddc1233a84f31dba4b97084f99868ef09021a4481a5fe5b9d734f0f8ece29ede8dc3629cd
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -7,6 +7,8 @@ Marloss is a general DynamoDB-based lock implementation.
|
|
7
7
|
|
8
8
|
![rusty-lock](https://user-images.githubusercontent.com/10990391/33243215-aa602a6c-d2d9-11e7-8fc6-d4a0c2a5b30d.jpg)
|
9
9
|
|
10
|
+
This Gem is tested using Ruby 2.6, 2.5, 2.4, 2.3
|
11
|
+
|
10
12
|
### Installation
|
11
13
|
|
12
14
|
Add this line to your application's Gemfile:
|
data/lib/marloss/store.rb
CHANGED
@@ -2,14 +2,16 @@
|
|
2
2
|
|
3
3
|
module Marloss
|
4
4
|
class Store # rubocop:disable Metrics/ClassLength
|
5
|
-
attr_reader :client, :table, :hash_key, :expires_key, :ttl
|
5
|
+
attr_reader :client, :table, :hash_key, :expires_key, :ttl, :process_id
|
6
6
|
|
7
|
-
def initialize(table, hash_key,
|
7
|
+
def initialize(table, hash_key, **options)
|
8
|
+
client_options = options.fetch(:client_options, {})
|
8
9
|
@client = Aws::DynamoDB::Client.new(client_options)
|
9
10
|
@table = table
|
10
11
|
@hash_key = hash_key
|
11
|
-
@expires_key = expires_key
|
12
|
-
@ttl = ttl
|
12
|
+
@expires_key = options.fetch(:expires_key, "Expires")
|
13
|
+
@ttl = options.fetch(:ttl, 30)
|
14
|
+
@process_id = options[:custom_process_id] || host_process_id
|
13
15
|
end
|
14
16
|
|
15
17
|
def create_table
|
@@ -140,7 +142,7 @@ module Marloss
|
|
140
142
|
Marloss.logger.info("Lock for #{name} deleted successfully")
|
141
143
|
end
|
142
144
|
|
143
|
-
private def
|
145
|
+
private def host_process_id
|
144
146
|
hostname = `hostname`.chomp
|
145
147
|
pid = Process.pid
|
146
148
|
|
data/lib/marloss/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marloss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jacopo Scrinzi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-dynamodb
|
@@ -135,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
135
|
version: '0'
|
136
136
|
requirements: []
|
137
137
|
rubyforge_project:
|
138
|
-
rubygems_version: 2.
|
138
|
+
rubygems_version: 2.6.14.3
|
139
139
|
signing_key:
|
140
140
|
specification_version: 4
|
141
141
|
summary: AWS DynamoDB based Locking
|