active_record_mutex 2.3.7 → 2.3.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 686d0cc0cb5deb244a9fe68ed6578c007a5d5a5c
4
- data.tar.gz: 530e542da37141df4d92ba7488276e853c75034a
3
+ metadata.gz: a8705fe3d190b75644675f7fc74d246da19f8a3b
4
+ data.tar.gz: 2441f8fbca8fd0fca45e380341a9e0a924c49acd
5
5
  SHA512:
6
- metadata.gz: fbc11293f1d454c08aa26e63dc6db721c2c4e84e9b1fe8422c23c4cd1aa285df1032ec0da9b6138d98e47bd9ea352ab6d01bcfa30784b36853afa2b0a3cbabb3
7
- data.tar.gz: efed2a868ccb21f108f7444d13aca5f9d3ada747b7437d200ac82e50478344e6ecb886063f64e79914ddb5c998141b2926ce7236e6c3977c100dcbc5f9291bf9
6
+ metadata.gz: 5525469c28b82c0e6a4c78e2d5ae410a351df12a61b011acedb73f966604708b39a1e3a87ab9e25dd18a30b472d24e645318766540a18dff611dc12c0055f86f
7
+ data.tar.gz: 6b6e0addf643c5db413aa1c21ae1f3f4963b46af08c12f7c78ed1b82e0123c02e2777b718da8754faebeefb06729581c86756f680621bbc5daf4d0798e81d165
data/.travis.yml CHANGED
@@ -1,6 +1,9 @@
1
1
  rvm:
2
2
  - 2.0.0
3
3
  - 2.1
4
+ - 2.2
5
+ - 2.3.1
6
+ - 2.4.0-preview1
4
7
  - ruby-head
5
8
  - jruby-head
6
9
  matrix:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.3.7
1
+ 2.3.8
@@ -1,52 +1,52 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: active_record_mutex 2.3.7 ruby lib
2
+ # stub: active_record_mutex 2.3.8 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
- s.name = "active_record_mutex"
6
- s.version = "2.3.7"
5
+ s.name = "active_record_mutex".freeze
6
+ s.version = "2.3.8"
7
7
 
8
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
- s.require_paths = ["lib"]
10
- s.authors = ["Florian Frank"]
11
- s.date = "2016-09-06"
12
- s.description = "Mutex that can be used to synchronise ruby processes via an ActiveRecord datababase connection. (Only Mysql is supported at the moment.)"
13
- s.email = "flori@ping.de"
14
- s.extra_rdoc_files = ["README.md", "lib/active_record/database_mutex.rb", "lib/active_record/database_mutex/implementation.rb", "lib/active_record/database_mutex/version.rb", "lib/active_record/mutex.rb", "lib/active_record_mutex.rb"]
15
- s.files = [".gitignore", ".travis.yml", "COPYING", "Gemfile", "README.md", "Rakefile", "VERSION", "active_record_mutex.gemspec", "lib/active_record/database_mutex.rb", "lib/active_record/database_mutex/implementation.rb", "lib/active_record/database_mutex/version.rb", "lib/active_record/mutex.rb", "lib/active_record_mutex.rb", "test/database_mutex_test.rb", "test/test_helper.rb"]
16
- s.homepage = "http://github.com/flori/active_record_mutex"
17
- s.licenses = ["GPL-2"]
18
- s.rdoc_options = ["--title", "ActiveRecordMutex - Implementation of a Mutex for Active Record", "--main", "README.md"]
19
- s.rubygems_version = "2.5.1"
20
- s.summary = "Implementation of a Mutex for Active Record"
21
- s.test_files = ["test/database_mutex_test.rb", "test/test_helper.rb"]
8
+ s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
+ s.require_paths = ["lib".freeze]
10
+ s.authors = ["Florian Frank".freeze]
11
+ s.date = "2016-09-07"
12
+ s.description = "Mutex that can be used to synchronise ruby processes via an ActiveRecord datababase connection. (Only Mysql is supported at the moment.)".freeze
13
+ s.email = "flori@ping.de".freeze
14
+ s.extra_rdoc_files = ["README.md".freeze, "lib/active_record/database_mutex.rb".freeze, "lib/active_record/database_mutex/implementation.rb".freeze, "lib/active_record/database_mutex/version.rb".freeze, "lib/active_record/mutex.rb".freeze, "lib/active_record_mutex.rb".freeze]
15
+ s.files = [".gitignore".freeze, ".travis.yml".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "active_record_mutex.gemspec".freeze, "lib/active_record/database_mutex.rb".freeze, "lib/active_record/database_mutex/implementation.rb".freeze, "lib/active_record/database_mutex/version.rb".freeze, "lib/active_record/mutex.rb".freeze, "lib/active_record_mutex.rb".freeze, "test/database_mutex_test.rb".freeze, "test/test_helper.rb".freeze]
16
+ s.homepage = "http://github.com/flori/active_record_mutex".freeze
17
+ s.licenses = ["GPL-2".freeze]
18
+ s.rdoc_options = ["--title".freeze, "ActiveRecordMutex - Implementation of a Mutex for Active Record".freeze, "--main".freeze, "README.md".freeze]
19
+ s.rubygems_version = "2.6.4".freeze
20
+ s.summary = "Implementation of a Mutex for Active Record".freeze
21
+ s.test_files = ["test/database_mutex_test.rb".freeze, "test/test_helper.rb".freeze]
22
22
 
23
23
  if s.respond_to? :specification_version then
24
24
  s.specification_version = 4
25
25
 
26
26
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
27
- s.add_development_dependency(%q<gem_hadar>, ["~> 1.7.1"])
28
- s.add_development_dependency(%q<test-unit>, ["~> 3.0"])
29
- s.add_development_dependency(%q<byebug>, [">= 0"])
30
- s.add_development_dependency(%q<simplecov>, [">= 0"])
31
- s.add_runtime_dependency(%q<mysql2>, ["~> 0.3.0"])
32
- s.add_runtime_dependency(%q<activerecord>, ["~> 4.0"])
33
- s.add_runtime_dependency(%q<tins>, ["~> 1.12.0"])
27
+ s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.7.1"])
28
+ s.add_development_dependency(%q<test-unit>.freeze, ["~> 3.0"])
29
+ s.add_development_dependency(%q<byebug>.freeze, [">= 0"])
30
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
31
+ s.add_runtime_dependency(%q<mysql2>.freeze, ["~> 0.3.0"])
32
+ s.add_runtime_dependency(%q<activerecord>.freeze, ["~> 4.0"])
33
+ s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.12.0"])
34
34
  else
35
- s.add_dependency(%q<gem_hadar>, ["~> 1.7.1"])
36
- s.add_dependency(%q<test-unit>, ["~> 3.0"])
37
- s.add_dependency(%q<byebug>, [">= 0"])
38
- s.add_dependency(%q<simplecov>, [">= 0"])
39
- s.add_dependency(%q<mysql2>, ["~> 0.3.0"])
40
- s.add_dependency(%q<activerecord>, ["~> 4.0"])
41
- s.add_dependency(%q<tins>, ["~> 1.12.0"])
35
+ s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.7.1"])
36
+ s.add_dependency(%q<test-unit>.freeze, ["~> 3.0"])
37
+ s.add_dependency(%q<byebug>.freeze, [">= 0"])
38
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
39
+ s.add_dependency(%q<mysql2>.freeze, ["~> 0.3.0"])
40
+ s.add_dependency(%q<activerecord>.freeze, ["~> 4.0"])
41
+ s.add_dependency(%q<tins>.freeze, ["~> 1.12.0"])
42
42
  end
43
43
  else
44
- s.add_dependency(%q<gem_hadar>, ["~> 1.7.1"])
45
- s.add_dependency(%q<test-unit>, ["~> 3.0"])
46
- s.add_dependency(%q<byebug>, [">= 0"])
47
- s.add_dependency(%q<simplecov>, [">= 0"])
48
- s.add_dependency(%q<mysql2>, ["~> 0.3.0"])
49
- s.add_dependency(%q<activerecord>, ["~> 4.0"])
50
- s.add_dependency(%q<tins>, ["~> 1.12.0"])
44
+ s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.7.1"])
45
+ s.add_dependency(%q<test-unit>.freeze, ["~> 3.0"])
46
+ s.add_dependency(%q<byebug>.freeze, [">= 0"])
47
+ s.add_dependency(%q<simplecov>.freeze, [">= 0"])
48
+ s.add_dependency(%q<mysql2>.freeze, ["~> 0.3.0"])
49
+ s.add_dependency(%q<activerecord>.freeze, ["~> 4.0"])
50
+ s.add_dependency(%q<tins>.freeze, ["~> 1.12.0"])
51
51
  end
52
52
  end
@@ -5,20 +5,26 @@ module ActiveRecord
5
5
  module DatabaseMutex
6
6
  class Implementation
7
7
 
8
+ class << self
9
+ attr_accessor :table_name
10
+ end
11
+ self.table_name = 'active_record_mutex_counters'
12
+
8
13
  # Creates a mutex with the name given with the option :name.
9
14
  def initialize(opts = {})
10
15
  @name = opts[:name] or raise ArgumentError, "mutex requires a :name argument"
11
- query %{ SET @old_autocommit = @@autocommit }
12
- query %{ SET autocommit = 1 }
13
16
  query %{
14
- CREATE TEMPORARY TABLE IF NOT EXISTS mutex_counters
17
+ CREATE TABLE IF NOT EXISTS #{table_name}
15
18
  (
16
19
  name CHAR(255) NOT NULL,
17
20
  counter INT UNSIGNED NOT NULL DEFAULT 1,
18
21
  PRIMARY KEY (name(128))
19
22
  ) DEFAULT CHARSET=utf8mb4
20
23
  }
21
- query %{ SET autocommit = @old_autocommit }
24
+ end
25
+
26
+ def table_name
27
+ self.class.table_name
22
28
  end
23
29
 
24
30
  def db
@@ -136,7 +142,7 @@ module ActiveRecord
136
142
 
137
143
  def increase_counter
138
144
  query %{
139
- INSERT INTO mutex_counters (name)
145
+ INSERT INTO #{table_name} (name)
140
146
  VALUES (#{quote(@name)})
141
147
  ON DUPLICATE KEY UPDATE counter = counter + 1
142
148
  }
@@ -144,14 +150,14 @@ module ActiveRecord
144
150
 
145
151
  def decrease_counter
146
152
  query %{
147
- UPDATE mutex_counters SET counter = counter - 1
153
+ UPDATE #{table_name} SET counter = counter - 1
148
154
  WHERE name = #{quote(@name)}
149
155
  }
150
156
  end
151
157
 
152
158
  def counter_value
153
159
  query(%{
154
- SELECT counter FROM mutex_counters
160
+ SELECT counter FROM #{table_name}
155
161
  WHERE name = #{quote(@name)}
156
162
  }).to_i
157
163
  end
@@ -1,6 +1,6 @@
1
1
  module ActiveRecord::DatabaseMutex
2
2
  # ActiveRecord::DatabaseMutex version
3
- VERSION = '2.3.7'
3
+ VERSION = '2.3.8'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_mutex
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.7
4
+ version: 2.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-06 00:00:00.000000000 Z
11
+ date: 2016-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -160,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
160
  version: '0'
161
161
  requirements: []
162
162
  rubyforge_project:
163
- rubygems_version: 2.5.1
163
+ rubygems_version: 2.6.4
164
164
  signing_key:
165
165
  specification_version: 4
166
166
  summary: Implementation of a Mutex for Active Record