switchman 1.14.8 → 1.14.9

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: dab76e2ecd636e151a0cd1073bb2271fb54ed6051dbaecca170c89fb96de012c
4
- data.tar.gz: f4537579439d2b6dc6ce8947edeaf80effb6af16eef20f13ef85b1e1803b80d9
3
+ metadata.gz: af371eaa6c622050b8e7db37afe53de773f420c9a4a0e17c51b2b85f6fa8a74c
4
+ data.tar.gz: b0002e538ef951ae7e90e1354190e6c38785844b9074254c9548579a20971f1f
5
5
  SHA512:
6
- metadata.gz: a502e2f21fa54eeb1a04589ed5695b2077039ba011e2ee04fc322bfca0107ddf923b0863748c6ab08a35cc910e7f5b880d052acbddaee75149fc031e8fd0fcbd
7
- data.tar.gz: 66bb964e5622bf09aecee7a9f5404056185427468634f18001d0fae2dc188d119232f15ad7d2d7b071de7e86e0a4b0a80e8394ce4eafa5b3c571821c7b42cfa1
6
+ metadata.gz: 335a626d0904a55dea7be067d553378c030196597cf387e3ef46037f7a26667705e2ed1b8ae54db0588ae395766d6567d9a8692ad15d16a2122e41c208adf82b
7
+ data.tar.gz: 9da1e76012054a5f9b9961f593cc326799740568e7135b08a3b8455ddf91a0e75c6a0a922660bc12c4f057dbc3d34a05b622737e5ac9281343cba488135eab0d
@@ -107,12 +107,12 @@ module Switchman
107
107
 
108
108
  def save(*args)
109
109
  @shard_set_in_stone = true
110
- self.class.shard(shard, :implicit).scoping { super }
110
+ (self.class.current_scope || self.class.default_scoped).shard(shard, :implicit).scoping { super }
111
111
  end
112
112
 
113
113
  def save!(*args)
114
114
  @shard_set_in_stone = true
115
- self.class.shard(shard, :implicit).scoping { super }
115
+ (self.class.current_scope || self.class.default_scoped).shard(shard, :implicit).scoping { super }
116
116
  end
117
117
 
118
118
  def destroy
@@ -46,8 +46,15 @@ module Switchman
46
46
 
47
47
  if ::Rails.version < '5.1'
48
48
  ::ActiveRecord::Base.configurations[::Rails.env] = spec.instance_variable_get(:@config).stringify_keys
49
- else
49
+ elsif ::Rails.version < '6.0'
50
50
  ::ActiveRecord::Base.configurations[::Rails.env] = config.stringify_keys
51
+ else
52
+ # Adopted from the deprecated code that currently lives in rails proper
53
+ remaining_configs = ::ActiveRecord::Base.configurations.configurations.reject { |db_config| db_config.env_name == ::Rails.env }
54
+ new_config = ::ActiveRecord::DatabaseConfigurations.new(::Rails.env => config.stringify_keys).configurations
55
+ new_configs = remaining_configs + new_config
56
+
57
+ ::ActiveRecord::Base.configurations = new_configs
51
58
  end
52
59
  else
53
60
  # this is probably wrong now
@@ -1,3 +1,3 @@
1
1
  module Switchman
2
- VERSION = "1.14.8"
2
+ VERSION = "1.14.9"
3
3
  end
@@ -72,7 +72,17 @@ module Switchman
72
72
  shard = Shard.current
73
73
  puts "#{shard.id}: #{shard.description}"
74
74
  ::ActiveRecord::Base.connection_pool.spec.config[:shard_name] = Shard.current.name
75
- ::ActiveRecord::Base.configurations[::Rails.env] = ::ActiveRecord::Base.connection_pool.spec.config.stringify_keys
75
+ if ::Rails.version < '6.0'
76
+ ::ActiveRecord::Base.configurations[::Rails.env] = ::ActiveRecord::Base.connection_pool.spec.config.stringify_keys
77
+ else
78
+ # Adopted from the deprecated code that currently lives in rails proper
79
+ remaining_configs = ::ActiveRecord::Base.configurations.configurations.reject { |db_config| db_config.env_name == ::Rails.env }
80
+ new_config = ::ActiveRecord::DatabaseConfigurations.new(::Rails.env =>
81
+ ::ActiveRecord::Base.connection_pool.spec.config.stringify_keys).configurations
82
+ new_configs = remaining_configs + new_config
83
+
84
+ ::ActiveRecord::Base.configurations = new_configs
85
+ end
76
86
  shard.database_server.unshackle do
77
87
  old_actions.each { |action| action.call(*task_args) }
78
88
  end
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.14.8
4
+ version: 1.14.9
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: 2019-11-06 00:00:00.000000000 Z
13
+ date: 2020-01-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: railties