active_record_mutex 2.3.7 → 2.3.8

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