marloss 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|

|
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
|