switchman 1.10.1 → 1.10.2

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: efa12f1f8d50e63ab2f92295171ca4601797ab6e
4
- data.tar.gz: 197446ec2d6556375877c5d5384df2993e4e5b1e
3
+ metadata.gz: a94b2792f84cce23eb6a12e27c9dedcc0725f81f
4
+ data.tar.gz: 0ba93bf24a105041150a48ac7f364183c528cc7b
5
5
  SHA512:
6
- metadata.gz: 4d61b287b7858d8746b78f785c8dd3b5ec60cbd4a5b9e6ed182eb624b716c37216e8e5ea42aa493287c72d038f78b35d61f77b478999067cb38ce2d7437501d9
7
- data.tar.gz: bcf78eaca8b3b69e7d12fafd8f4f11de18860d1edb317e9be8b7e0d3bf3ab071f72c4b6f6d7e9d6d32d85eeb70dc304dc24e64c6854e2dba8d4697fb911cc1b8
6
+ metadata.gz: 685010c8f3444e089bb6f3dab279f27002a3c58bdb51981fe6afac4055d1f3eb78a8653721c030072a5ebf28cfb2c61dd88ee290b1058bf8df938f8c6d1e2e8c
7
+ data.tar.gz: 207b0fe9091da5765054e498a4c3433866be039c92b20c564cbcbc69a7fcd72c6a7e4ae4eedf71b10f33a1dc6470137ba26598b208ecf8bbe20efb417def9f56
File without changes
@@ -79,7 +79,13 @@ module Switchman
79
79
  def define_method_original_attribute(attr_name)
80
80
  if sharded_column?(attr_name)
81
81
  reflection = reflection_for_integer_attribute(attr_name)
82
- generated_attribute_methods.module_eval <<-RUBY, __FILE__, __LINE__ + 1
82
+ if attr_name == "id" && ::Rails.version >= '5.1.2'
83
+ return if self.method_defined?(:original_id)
84
+ owner = self
85
+ else
86
+ owner = generated_attribute_methods
87
+ end
88
+ owner.module_eval <<-RUBY, __FILE__, __LINE__ + 1
83
89
  # rename the original method to original_
84
90
  alias_method 'original_#{attr_name}', '#{attr_name}'
85
91
  # and replace with one that transposes the id
@@ -117,7 +123,7 @@ module Switchman
117
123
  klass.extend(ClassMethods)
118
124
  klass.attribute_method_prefix "global_", "local_", "original_"
119
125
  end
120
-
126
+
121
127
  # ensure that we're using the sharded attribute method
122
128
  # and not the silly one in AR::AttributeMethods::PrimaryKey
123
129
  def id
@@ -31,6 +31,12 @@ module Switchman
31
31
  end
32
32
  end
33
33
 
34
+ def find_some_ordered(ids)
35
+ current_shard = Shard.current(klass.shard_category)
36
+ ids = ids.map{|id| Shard.relative_id_for(id, current_shard, current_shard)}
37
+ super(ids)
38
+ end
39
+
34
40
  def find_or_instantiator_by_attributes(match, attributes, *args)
35
41
  primary_shard.activate { super }
36
42
  end
@@ -1,3 +1,3 @@
1
1
  module Switchman
2
- VERSION = "1.10.1"
2
+ VERSION = "1.10.2"
3
3
  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.10.1
4
+ version: 1.10.2
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: 2017-06-15 00:00:00.000000000 Z
13
+ date: 2017-07-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: railties
@@ -177,6 +177,7 @@ files:
177
177
  - db/migrate/20130328212039_create_switchman_shards.rb
178
178
  - db/migrate/20130328224244_create_default_shard.rb
179
179
  - db/migrate/20161206323434_add_back_default_string_limits_switchman.rb
180
+ - db/shard_1708.sqlite3
180
181
  - lib/switchman.rb
181
182
  - lib/switchman/action_controller/caching.rb
182
183
  - lib/switchman/active_record/abstract_adapter.rb
@@ -243,7 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
243
244
  version: '0'
244
245
  requirements: []
245
246
  rubyforge_project:
246
- rubygems_version: 2.6.11
247
+ rubygems_version: 2.5.1
247
248
  signing_key:
248
249
  specification_version: 4
249
250
  summary: Rails 4 sharding magic