switchman 1.16.0 → 2.0.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
2
  SHA256:
3
- metadata.gz: 70787591a2f55963ba4b74b816cb11428d1d764e87d3635309d98b423ed842e1
4
- data.tar.gz: 5516037d6c39f1215eac8764512d97125dbeaf2cb64aeed234f5a4d55ce18650
3
+ metadata.gz: 7cec081d77daa09b754a98ce7bc335198b2dfbdbcd093df492a43803ff7a2742
4
+ data.tar.gz: d93576725471024b24c4622d33e0eff9c1b61498b6c037e624d9b6ff8c78a442
5
5
  SHA512:
6
- metadata.gz: bad00cb3a194c18f792c214caa3f47f90ac53b7186ea458775b9562e1bf2b8fa898e6317ca4514722ce3a9e8652061101e15f657556f2c95344c6ecd5284bb34
7
- data.tar.gz: '0697c43ffd9934ddfb9d0640295024e1035297ac7f14e9a3018a80f0170e427904924d4efa42892a5cf2f223aa75490c9ccd0da500c7040c4c53da4b04f8d9a7'
6
+ metadata.gz: 6d4c7b1e82460fbdfda1659fc09379583c5e63ecc21d412466563a62c42679db864f8f09c2eaa2bed17b53216c64d18c42caabec76291f25e00bfc1e6a2499a1
7
+ data.tar.gz: e52baf68ce2301dfa26abffd423e9855c875232871539fea59ae88ffd8f3b355299cb4c0bb60e32bf90555e7e935d2f73954ec01919cab16993bee73b39e56b6
@@ -38,7 +38,10 @@ module Switchman
38
38
  end
39
39
 
40
40
  def default(reload_deprecated = false, reload: false, with_fallback: false)
41
- reload = reload_deprecated if reload_deprecated
41
+ if reload_deprecated
42
+ reload = reload_deprecated
43
+ ActiveSupport::Deprecation.warn("positional reload parameter to Switchman::Shard.default is deprecated; use `reload: true`")
44
+ end
42
45
  if !@default || reload
43
46
  # Have to create a dummy object so that several key methods still work
44
47
  # (it's easier to do this in one place here, and just assume that sharding
@@ -351,8 +354,8 @@ module Switchman
351
354
  # prune the prior connection unless it happened to be the same
352
355
  if previous_shard && shard != previous_shard && !previous_shard.database_server.shareable?
353
356
  previous_shard.activate do
354
- ::Shackles.activated_environments.each do |env|
355
- ::Shackles.activate(env) do
357
+ ::GuardRail.activated_environments.each do |env|
358
+ ::GuardRail.activate(env) do
356
359
  if ::ActiveRecord::Base.connected? && ::ActiveRecord::Base.connection.open_transactions == 0
357
360
  ::ActiveRecord::Base.connection_pool.current_pool.disconnect!
358
361
  end
@@ -659,7 +662,7 @@ module Switchman
659
662
  case adapter
660
663
  when 'mysql', 'mysql2'
661
664
  self.activate do
662
- ::Shackles.activate(:deploy) do
665
+ ::GuardRail.activate(:deploy) do
663
666
  drop_statement ||= "DROP DATABASE #{self.name}"
664
667
  Array(drop_statement).each do |stmt|
665
668
  ::ActiveRecord::Base.connection.execute(stmt)
@@ -668,7 +671,7 @@ module Switchman
668
671
  end
669
672
  when 'postgresql'
670
673
  self.activate do
671
- ::Shackles.activate(:deploy) do
674
+ ::GuardRail.activate(:deploy) do
672
675
  # Shut up, Postgres!
673
676
  conn = ::ActiveRecord::Base.connection
674
677
  old_proc = conn.raw_connection.set_notice_processor {}
@@ -3,7 +3,7 @@ class CreateDefaultShard < ActiveRecord::Migration[4.2]
3
3
  unless Switchman::Shard.default.is_a?(Switchman::Shard)
4
4
  Switchman::Shard.reset_column_information
5
5
  Switchman::Shard.create!(:default => true)
6
- Switchman::Shard.default(true)
6
+ Switchman::Shard.default(reload: true)
7
7
  end
8
8
  end
9
9
  end
@@ -1,4 +1,4 @@
1
- require "shackles"
1
+ require "guard_rail"
2
2
  require "switchman/open4"
3
3
  require "switchman/engine"
4
4
 
@@ -4,8 +4,8 @@ module Switchman
4
4
  module ActiveRecord
5
5
  module AbstractAdapter
6
6
  module ForeignKeyCheck
7
- def add_column(table, name, type, options = {})
8
- Engine.foreign_key_check(name, type, options)
7
+ def add_column(table, name, type, limit: nil, **)
8
+ Engine.foreign_key_check(name, type, limit: limit)
9
9
  super
10
10
  end
11
11
  end
@@ -31,20 +31,20 @@ module Switchman
31
31
  @integral_id
32
32
  end
33
33
 
34
- def transaction(*args)
34
+ def transaction(**)
35
35
  if self != ::ActiveRecord::Base && current_scope
36
36
  current_scope.activate do
37
37
  db = Shard.current(shard_category).database_server
38
- if ::Shackles.environment != db.shackles_environment
39
- db.unshackle { super }
38
+ if ::GuardRail.environment != db.guard_rail_environment
39
+ db.unguard { super }
40
40
  else
41
41
  super
42
42
  end
43
43
  end
44
44
  else
45
45
  db = Shard.current(shard_category).database_server
46
- if ::Shackles.environment != db.shackles_environment
47
- db.unshackle { super }
46
+ if ::GuardRail.environment != db.guard_rail_environment
47
+ db.unguard { super }
48
48
  else
49
49
  super
50
50
  end
@@ -105,12 +105,12 @@ module Switchman
105
105
  end
106
106
  end
107
107
 
108
- def save(*args)
108
+ def save(*, **)
109
109
  @shard_set_in_stone = true
110
110
  (self.class.current_scope || self.class.default_scoped).shard(shard, :implicit).scoping { super }
111
111
  end
112
112
 
113
- def save!(*args)
113
+ def save!(*, **)
114
114
  @shard_set_in_stone = true
115
115
  (self.class.current_scope || self.class.default_scoped).shard(shard, :implicit).scoping { super }
116
116
  end
@@ -157,8 +157,8 @@ module Switchman
157
157
 
158
158
  def update_columns(*)
159
159
  db = Shard.current(self.class.shard_category).database_server
160
- if ::Shackles.environment != db.shackles_environment
161
- return db.unshackle { super }
160
+ if ::GuardRail.environment != db.guard_rail_environment
161
+ return db.unguard { super }
162
162
  else
163
163
  super
164
164
  end
@@ -55,7 +55,7 @@ module Switchman
55
55
  Shard.default.remove_instance_variable(:@name) if Shard.default.instance_variable_defined?(:@name)
56
56
  end
57
57
 
58
- @shard_connection_pools ||= { [:master, Shard.default.database_server.shareable? ? ::Rails.env : Shard.default] => pool}
58
+ @shard_connection_pools ||= { [:primary, Shard.default.database_server.shareable? ? ::Rails.env : Shard.default] => pool}
59
59
 
60
60
  category = pool.spec.name.to_sym
61
61
  proxy = ConnectionPoolProxy.new(category,
@@ -64,13 +64,13 @@ module Switchman
64
64
  owner_to_pool[pool.spec.name] = proxy
65
65
 
66
66
  if first_time
67
- if Shard.default.database_server.config[:prefer_slave]
68
- Shard.default.database_server.shackle!
67
+ if Shard.default.database_server.config[:prefer_secondary]
68
+ Shard.default.database_server.guard!
69
69
  end
70
70
 
71
- if Shard.default.is_a?(DefaultShard) && Shard.default.database_server.config[:slave]
72
- Shard.default.database_server.shackle!
73
- Shard.default(true)
71
+ if Shard.default.is_a?(DefaultShard) && Shard.default.database_server.config[:secondary]
72
+ Shard.default.database_server.guard!
73
+ Shard.default(reload: true)
74
74
  end
75
75
  end
76
76
 
@@ -192,7 +192,7 @@ module Switchman
192
192
  end
193
193
  end
194
194
 
195
- def add_index_options(_table_name, _column_name, _options = {})
195
+ def add_index_options(_table_name, _column_name, **)
196
196
  index_name, index_type, index_columns, index_options, algorithm, using = super
197
197
  algorithm = nil if DatabaseServer.creating_new_shard && algorithm == "CONCURRENTLY"
198
198
  [index_name, index_type, index_columns, index_options, algorithm, using]
@@ -5,7 +5,7 @@ module Switchman
5
5
  klass::SINGLE_VALUE_METHODS.concat [ :shard, :shard_source ]
6
6
  end
7
7
 
8
- def initialize(*args)
8
+ def initialize(*, **)
9
9
  super
10
10
  self.shard_value = Shard.current(klass ? klass.shard_category : :primary) unless shard_value
11
11
  self.shard_source_value = :implicit unless shard_source_value
@@ -17,7 +17,7 @@ module Switchman
17
17
  result
18
18
  end
19
19
 
20
- def merge(*args)
20
+ def merge(*)
21
21
  relation = super
22
22
  if relation.shard_value != self.shard_value && relation.shard_source_value == :implicit
23
23
  relation.shard_value = self.shard_value
@@ -26,15 +26,15 @@ module Switchman
26
26
  relation
27
27
  end
28
28
 
29
- def new(*args, &block)
29
+ def new(*, &block)
30
30
  primary_shard.activate(klass.shard_category) { super }
31
31
  end
32
32
 
33
- def create(*args, &block)
33
+ def create(*, &block)
34
34
  primary_shard.activate(klass.shard_category) { super }
35
35
  end
36
36
 
37
- def create!(*args, &block)
37
+ def create!(*, &block)
38
38
  primary_shard.activate(klass.shard_category) { super }
39
39
  end
40
40
 
@@ -2,7 +2,7 @@ module Switchman
2
2
  module ActiveRecord
3
3
  module StatementCache
4
4
  module ClassMethods
5
- def create(connection, block = Proc.new)
5
+ def create(connection, &block)
6
6
  relation = block.call ::ActiveRecord::StatementCache::Params.new
7
7
 
8
8
  if ::Rails.version >= "5.2"
@@ -1,8 +1,8 @@
1
1
  module Switchman
2
2
  module ActiveRecord
3
3
  module TableDefinition
4
- def column(name, type, options = {})
5
- Engine.foreign_key_check(name, type, options)
4
+ def column(name, type, limit: nil, **)
5
+ Engine.foreign_key_check(name, type, limit: limit)
6
6
  super
7
7
  end
8
8
  end
@@ -37,13 +37,13 @@ module Switchman
37
37
  Shard.current(@category)
38
38
  end
39
39
 
40
- def active_shackles_environment
41
- ::Rails.env.test? ? :master : active_shard.database_server.shackles_environment
40
+ def active_guard_rail_environment
41
+ ::Rails.env.test? ? :primary : active_shard.database_server.guard_rail_environment
42
42
  end
43
43
 
44
44
  def current_pool
45
45
  current_active_shard = active_shard
46
- pool = self.default_pool if current_active_shard.database_server == Shard.default.database_server && active_shackles_environment == :master && (current_active_shard.default? || current_active_shard.database_server.shareable?)
46
+ pool = self.default_pool if current_active_shard.database_server == Shard.default.database_server && active_guard_rail_environment == :primary && (current_active_shard.default? || current_active_shard.database_server.shareable?)
47
47
  pool = @connection_pools[pool_key] ||= create_pool unless pool
48
48
  pool.shard = current_active_shard
49
49
  pool
@@ -60,8 +60,8 @@ module Switchman
60
60
  connection.instance_variable_set(:@schema_cache, @schema_cache) unless ::Rails.version >= '6'
61
61
  connection
62
62
  rescue ConnectionError
63
- raise if active_shard.database_server == Shard.default.database_server && active_shackles_environment == :master
64
- configs = active_shard.database_server.config(active_shackles_environment)
63
+ raise if active_shard.database_server == Shard.default.database_server && active_guard_rail_environment == :primary
64
+ configs = active_shard.database_server.config(active_guard_rail_environment)
65
65
  raise unless configs.is_a?(Array)
66
66
  configs.each_with_index do |config, idx|
67
67
  pool = create_pool(config.dup)
@@ -120,7 +120,7 @@ module Switchman
120
120
  end
121
121
 
122
122
  def pool_key
123
- [active_shackles_environment,
123
+ [active_guard_rail_environment,
124
124
  active_shard.database_server.shareable? ? active_shard.database_server.pool_key : active_shard]
125
125
  end
126
126
 
@@ -128,7 +128,7 @@ module Switchman
128
128
  shard = active_shard
129
129
  unless config
130
130
  if shard != Shard.default
131
- config = shard.database_server.config(active_shackles_environment)
131
+ config = shard.database_server.config(active_guard_rail_environment)
132
132
  config = config.first if config.is_a?(Array)
133
133
  config = config.dup
134
134
  else
@@ -138,10 +138,10 @@ module Switchman
138
138
  # different models could be using different configs on the default
139
139
  # shard, and database server wouldn't know about that
140
140
  config = default_pool.spec.instance_variable_get(:@config)
141
- if config[active_shackles_environment].is_a?(Hash)
142
- config = config.merge(config[active_shackles_environment])
143
- elsif config[active_shackles_environment].is_a?(Array)
144
- config = config.merge(config[active_shackles_environment].first)
141
+ if config[active_guard_rail_environment].is_a?(Hash)
142
+ config = config.merge(config[active_guard_rail_environment])
143
+ elsif config[active_guard_rail_environment].is_a?(Array)
144
+ config = config.merge(config[active_guard_rail_environment].first)
145
145
  else
146
146
  config = config.dup
147
147
  end
@@ -69,12 +69,12 @@ module Switchman
69
69
  @fake
70
70
  end
71
71
 
72
- def config(environment = :master)
72
+ def config(environment = :primary)
73
73
  @configs[environment] ||= begin
74
74
  if @config[environment].is_a?(Array)
75
75
  @config[environment].map do |config|
76
76
  config = @config.merge((config || {}).symbolize_keys)
77
- # make sure Shackles doesn't get any brilliant ideas about choosing the first possible server
77
+ # make sure GuardRail doesn't get any brilliant ideas about choosing the first possible server
78
78
  config.delete(environment)
79
79
  config
80
80
  end
@@ -86,33 +86,33 @@ module Switchman
86
86
  end
87
87
  end
88
88
 
89
- def shackles_environment
90
- @shackles_environment || ::Shackles.environment
89
+ def guard_rail_environment
90
+ @guard_rail_environment || ::GuardRail.environment
91
91
  end
92
92
 
93
93
  # locks this db to a specific environment, except for
94
94
  # when doing writes (then it falls back to the current
95
- # value of Shackles.environment)
96
- def shackle!(environment = :slave)
97
- @shackles_environment = environment
95
+ # value of GuardRail.environment)
96
+ def guard!(environment = :secondary)
97
+ @guard_rail_environment = environment
98
98
  end
99
99
 
100
- def unshackle!
101
- @shackles_environment = nil
100
+ def unguard!
101
+ @guard_rail_environment = nil
102
102
  end
103
103
 
104
- def unshackle
105
- old_env = @shackles_environment
106
- unshackle!
104
+ def unguard
105
+ old_env = @guard_rail_environment
106
+ unguard!
107
107
  yield
108
108
  ensure
109
- shackle!(old_env)
109
+ guard!(old_env)
110
110
  end
111
111
 
112
112
  def shareable?
113
113
  @shareable_environment_key ||= []
114
- environment = shackles_environment
115
- explicit_user = ::Shackles.global_config[:username]
114
+ environment = guard_rail_environment
115
+ explicit_user = ::GuardRail.global_config[:username]
116
116
  return @shareable if @shareable_environment_key == [environment, explicit_user]
117
117
  @shareable_environment_key = [environment, explicit_user]
118
118
  if explicit_user
@@ -190,7 +190,7 @@ module Switchman
190
190
  begin
191
191
  self.class.creating_new_shard = true
192
192
  shard.activate(*Shard.categories) do
193
- ::Shackles.activate(:deploy) do
193
+ ::GuardRail.activate(:deploy) do
194
194
  begin
195
195
  if create_statement
196
196
  if (::ActiveRecord::Base.connection.select_value("SELECT 1 FROM pg_namespace WHERE nspname=#{::ActiveRecord::Base.connection.quote(name)}"))
@@ -87,7 +87,7 @@ module Switchman
87
87
  require "switchman/arel"
88
88
  require "switchman/call_super"
89
89
  require "switchman/rails"
90
- require "switchman/shackles/relation"
90
+ require "switchman/guard_rail/relation"
91
91
  require_dependency "switchman/shard"
92
92
  require "switchman/standard_error"
93
93
 
@@ -133,7 +133,7 @@ module Switchman
133
133
  ::ActiveRecord::Relation.prepend(ActiveRecord::Calculations)
134
134
  ::ActiveRecord::Relation.include(ActiveRecord::FinderMethods)
135
135
  ::ActiveRecord::Relation.include(ActiveRecord::QueryMethods)
136
- ::ActiveRecord::Relation.prepend(Shackles::Relation)
136
+ ::ActiveRecord::Relation.prepend(GuardRail::Relation)
137
137
  ::ActiveRecord::Relation.prepend(ActiveRecord::Relation)
138
138
  ::ActiveRecord::Relation.include(ActiveRecord::SpawnMethods)
139
139
  ::ActiveRecord::Relation.include(CallSuper)
@@ -150,8 +150,8 @@ module Switchman
150
150
  end
151
151
  end
152
152
 
153
- def self.foreign_key_check(name, type, options)
154
- if name.to_s =~ /_id\z/ && type.to_s == 'integer' && options[:limit].to_i < 8
153
+ def self.foreign_key_check(name, type, limit: nil)
154
+ if name.to_s =~ /_id\z/ && type.to_s == 'integer' && limit.to_i < 8
155
155
  puts "WARNING: All foreign keys need to be 8-byte integers. #{name} looks like a foreign key. If so, please add the option: `:limit => 8`"
156
156
  end
157
157
  end
@@ -185,15 +185,15 @@ module Switchman
185
185
  end
186
186
  end
187
187
 
188
- initializer 'switchman.extend_shackles', :before => "switchman.extend_ar" do
188
+ initializer 'switchman.extend_guard_rail', :before => "switchman.extend_ar" do
189
189
  ::ActiveSupport.on_load(:active_record) do
190
- require "switchman/shackles"
190
+ require "switchman/guard_rail"
191
191
 
192
- ::Shackles.singleton_class.prepend(Shackles::ClassMethods)
192
+ ::GuardRail.singleton_class.prepend(GuardRail::ClassMethods)
193
193
  end
194
194
  end
195
195
 
196
- initializer 'switchman.extend_controller', :after => "shackles.extend_ar" do
196
+ initializer 'switchman.extend_controller', :after => "guard_rail.extend_ar" do
197
197
  ::ActiveSupport.on_load(:action_controller) do
198
198
  require "switchman/action_controller/caching"
199
199
 
@@ -1,17 +1,17 @@
1
1
  module Switchman
2
- module Shackles
2
+ module GuardRail
3
3
  module ClassMethods
4
4
  def self.prepended(klass)
5
5
  klass.send(:remove_method, :ensure_handler)
6
6
  end
7
7
 
8
8
  # drops the save_handler and ensure_handler calls from the vanilla
9
- # Shackles' implementation.
9
+ # GuardRail' implementation.
10
10
  def activate!(environment)
11
- environment ||= :master
11
+ environment ||= :primary
12
12
  activated_environments << environment
13
13
  old_environment = self.environment
14
- Thread.current[:shackles_environment] = environment
14
+ Thread.current[:guard_rail_environment] = environment
15
15
  old_environment
16
16
  end
17
17
 
@@ -1,11 +1,11 @@
1
1
  module Switchman
2
- module Shackles
2
+ module GuardRail
3
3
  module Relation
4
4
  def exec_queries(*args)
5
5
  if self.lock_value
6
6
  db = Shard.current(shard_category).database_server
7
- if ::Shackles.environment != db.shackles_environment
8
- return db.unshackle { super }
7
+ if ::GuardRail.environment != db.guard_rail_environment
8
+ return db.unguard { super }
9
9
  end
10
10
  end
11
11
  super
@@ -15,8 +15,8 @@ module Switchman
15
15
  class_eval <<-RUBY, __FILE__, __LINE__ + 1
16
16
  def #{method}(*args)
17
17
  db = Shard.current(shard_category).database_server
18
- if ::Shackles.environment != db.shackles_environment
19
- db.unshackle { super }
18
+ if ::GuardRail.environment != db.guard_rail_environment
19
+ db.unguard { super }
20
20
  else
21
21
  super
22
22
  end
@@ -65,7 +65,7 @@ module Switchman
65
65
  (@@shard3.drop_database if @@shard3) rescue nil
66
66
  @@shard1 = @@shard2 = @@shard3 = nil
67
67
  Shard.delete_all
68
- Shard.default(true)
68
+ Shard.default(reload: true)
69
69
  next
70
70
  end
71
71
  end
@@ -73,7 +73,7 @@ module Switchman
73
73
  # in the db before then
74
74
  Shard.delete_all
75
75
  Switchman.cache.delete("default_shard")
76
- Shard.default(true)
76
+ Shard.default(reload: true)
77
77
  puts "Done!"
78
78
 
79
79
  at_exit do
@@ -102,7 +102,7 @@ module Switchman
102
102
  dup.id = @@default_shard.id
103
103
  dup.save!
104
104
  Switchman.cache.delete("default_shard")
105
- Shard.default(true)
105
+ Shard.default(reload: true)
106
106
  dup = @@shard1.dup
107
107
  dup.id = @@shard1.id
108
108
  dup.save!
@@ -122,7 +122,7 @@ module Switchman
122
122
  raise "Sharding did not set up correctly" if @@sharding_failed
123
123
  Shard.clear_cache
124
124
  if use_transactional_tests
125
- Shard.default(true)
125
+ Shard.default(reload: true)
126
126
  @shard1 = Shard.find(@shard1.id)
127
127
  @shard2 = Shard.find(@shard2.id)
128
128
  shards = [@shard2]
@@ -151,7 +151,7 @@ module Switchman
151
151
  klass.after(:all) do
152
152
  Shard.connection.update("TRUNCATE #{Shard.quoted_table_name} CASCADE")
153
153
  Switchman.cache.delete("default_shard")
154
- Shard.default(true)
154
+ Shard.default(reload: true)
155
155
  end
156
156
  end
157
157
  end
@@ -14,7 +14,7 @@ module Switchman
14
14
  payload[:shard] = {
15
15
  database_server_id: shard.database_server.id,
16
16
  id: shard.id,
17
- env: shard.database_server.shackles_environment
17
+ env: shard.database_server.guard_rail_environment
18
18
  }
19
19
  end
20
20
  super name, payload
@@ -3,8 +3,8 @@ module Switchman
3
3
  class << self
4
4
  def recreate_persistent_test_shards(dont_create: false)
5
5
  # recreate the default shard (it got buhleted)
6
- ::Shackles.activate(:deploy) { Switchman.cache.clear }
7
- if Shard.default(true).is_a?(DefaultShard)
6
+ ::GuardRail.activate(:deploy) { Switchman.cache.clear }
7
+ if Shard.default(reload: true).is_a?(DefaultShard)
8
8
  begin
9
9
  Shard.create!(default: true)
10
10
  rescue
@@ -12,7 +12,7 @@ module Switchman
12
12
  # database doesn't exist yet, presumably cause we're creating it right now
13
13
  return [nil, nil]
14
14
  end
15
- Shard.default(true)
15
+ Shard.default(reload: true)
16
16
  end
17
17
 
18
18
  # can't auto-create a new shard on the default shard's db server if the
@@ -1,3 +1,3 @@
1
1
  module Switchman
2
- VERSION = "1.16.0"
2
+ VERSION = "2.0.0"
3
3
  end
@@ -64,8 +64,8 @@ module Switchman
64
64
  TestHelper.recreate_persistent_test_shards(dont_create: true)
65
65
  end
66
66
 
67
- ::Shackles.activate(:deploy) do
68
- Shard.default.database_server.unshackle do
67
+ ::GuardRail.activate(:deploy) do
68
+ Shard.default.database_server.unguard do
69
69
  begin
70
70
  categories = categories.call if categories.respond_to?(:call)
71
71
  Shard.with_each_shard(scope, categories, options) do
@@ -83,7 +83,7 @@ module Switchman
83
83
 
84
84
  ::ActiveRecord::Base.configurations = new_configs
85
85
  end
86
- shard.database_server.unshackle do
86
+ shard.database_server.unguard do
87
87
  old_actions.each { |action| action.call(*task_args) }
88
88
  end
89
89
  nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: switchman
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Cutrer
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-09-15 00:00:00.000000000 Z
13
+ date: 2020-10-05 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: railties
@@ -53,19 +53,19 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '6.1'
55
55
  - !ruby/object:Gem::Dependency
56
- name: shackles
56
+ name: guardrail
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.4.2
61
+ version: 2.0.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.4.2
68
+ version: 2.0.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: open4
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -228,12 +228,12 @@ files:
228
228
  - lib/switchman/engine.rb
229
229
  - lib/switchman/environment.rb
230
230
  - lib/switchman/errors.rb
231
+ - lib/switchman/guard_rail.rb
232
+ - lib/switchman/guard_rail/relation.rb
231
233
  - lib/switchman/open4.rb
232
234
  - lib/switchman/r_spec_helper.rb
233
235
  - lib/switchman/rails.rb
234
236
  - lib/switchman/schema_cache.rb
235
- - lib/switchman/shackles.rb
236
- - lib/switchman/shackles/relation.rb
237
237
  - lib/switchman/sharded_instrumenter.rb
238
238
  - lib/switchman/standard_error.rb
239
239
  - lib/switchman/test_helper.rb
@@ -251,15 +251,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
251
251
  requirements:
252
252
  - - ">="
253
253
  - !ruby/object:Gem::Version
254
- version: '2.4'
254
+ version: '2.5'
255
255
  required_rubygems_version: !ruby/object:Gem::Requirement
256
256
  requirements:
257
257
  - - ">="
258
258
  - !ruby/object:Gem::Version
259
259
  version: '0'
260
260
  requirements: []
261
- rubygems_version: 3.0.3
261
+ rubygems_version: 3.1.2
262
262
  signing_key:
263
263
  specification_version: 4
264
- summary: Rails 4 sharding magic
264
+ summary: Rails sharding magic
265
265
  test_files: []