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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: ee90d354ebc9dcd4f9bdba03380d2c44616b31614c7e1b92273e533e800415ce
4
- data.tar.gz: 6cd27c87bb5b65ea18450719ba6e527a8a40e955e40c705d2c8a968a73c30a64
2
+ SHA1:
3
+ metadata.gz: 9a5275a505a39c3b7325bf7039b57f53be932ee4
4
+ data.tar.gz: 712901ed5c0e65f4916c3cd5ffd4ada17ee832ca
5
5
  SHA512:
6
- metadata.gz: ede87eeba38468521d6582e6586a307911adc6938e7e85c785ebdf228efc95c398ec3c69db30c64a28de856d576a618cd563d8ed53fb65a7aee93c500005e419
7
- data.tar.gz: 5751077d681c9c0611e243d662df3b0d79982b0b759feb1b81481a5bf8fccefa72b5595806ef97dab5dc2f1937207fd3504286e284e67b7508034a6097afe72e
6
+ metadata.gz: 626ecb02605de98c1f4ff04801c05cbde48928b9b9edea654498aa569c5227bc35f5c6db189c18f4d372c911c25ab40497ca880ed30aba251a411fa39d59604e
7
+ data.tar.gz: 790f2b3a14ecbbffdbc7a0f08fc7d2abfb5e98e5d69409bc5b22d28ddc1233a84f31dba4b97084f99868ef09021a4481a5fe5b9d734f0f8ece29ede8dc3629cd
@@ -1,9 +1,9 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.5.1
4
- - 2.4.4
5
- - 2.3.7
6
- - 2.2.10
3
+ - 2.6.1
4
+ - 2.5.3
5
+ - 2.4.5
6
+ - 2.3.8
7
7
  notifications:
8
8
  email: false
9
9
  before_script: bundle exec rubocop
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:
@@ -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, expires_key: "Expires", ttl: 30, client_options: {})
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 process_id
145
+ private def host_process_id
144
146
  hostname = `hostname`.chomp
145
147
  pid = Process.pid
146
148
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Marloss
4
- VERSION = "0.4.0".freeze
4
+ VERSION = "0.5.0".freeze
5
5
  end
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.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: 2018-10-07 00:00:00.000000000 Z
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.7.6
138
+ rubygems_version: 2.6.14.3
139
139
  signing_key:
140
140
  specification_version: 4
141
141
  summary: AWS DynamoDB based Locking