sequel-schema-sharding 0.13.1 → 0.13.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: 79817106f53c0313457b3c96c2649464ceaacf1c
4
- data.tar.gz: 8204398f805ebb0830c8b464e41bd8f4b4e8cbd6
3
+ metadata.gz: b98c0f0746590cbb1e82cb9168174082c30360b8
4
+ data.tar.gz: f8d580760294f88b947ee43625b3a37d63e9de9b
5
5
  SHA512:
6
- metadata.gz: c6bd3459507fd8aac45fc48e33578447c9d2e3c28de921085b92d2566fbdbbf1bfbe15e800ed77d5098e7278cc09292f65e48b2b50b7cbec83a05504ad4983f8
7
- data.tar.gz: 86aaa77bd21f851c996a38f1f254910f407457b62b113a4c804d87387b28a39fda55f54e80ccb53c07e7b6a9dc1950b922b6f2b1193fd3cd1f6204ebfa133bbf
6
+ metadata.gz: caa856b979c083ece5e0a44686bbf26a06fc8e5f1fd827dfb0665db2ab47b2e9bc453a1a812b70149b4ea4e847e93a405f3a67133842ef9048bfd22d2de72b8e
7
+ data.tar.gz: 310c68f1f3688d2c427e8e88a279a2f5c945846e29582eb31f877227765cc2adfda08ccb9e1bf13bd6d23811245dab40d88623016bd820b204594bd311ec8dcd
@@ -10,7 +10,7 @@ module Sequel
10
10
  end
11
11
 
12
12
  def read_only_shard_for
13
- @read_only_probe ||= provider.probe(:model, :read_only_shard_for, :string)
13
+ @read_only_probe ||= provider.probe(:model, :read_only_shard_for, :string, :integer)
14
14
  end
15
15
 
16
16
  def replica_hash_for
@@ -18,7 +18,7 @@ module Sequel
18
18
  end
19
19
 
20
20
  def shard_for
21
- @shard_for_probe ||= provider.probe(:model, :shard_for, :string)
21
+ @shard_for_probe ||= provider.probe(:model, :shard_for, :string, :integer)
22
22
  end
23
23
 
24
24
  def self.provider
@@ -49,19 +49,21 @@ module Sequel
49
49
  # Return a valid Sequel::Dataset that is tied to the shard table and connection for the id and will load values
50
50
  # run by the query into the model.
51
51
  def shard_for(id)
52
- Sequel::SchemaSharding::DTraceProvider.provider.shard_for.fire(id.to_s) if Sequel::SchemaSharding::DTraceProvider.provider.shard_for.enabled?
53
52
  result = self.result_for(id)
54
53
  ds = result.connection[schema_and_table(result)]
55
54
  ds.row_proc = self
56
55
  dataset_method_modules.each { |m| ds.instance_eval { extend(m) } }
57
56
  ds.shard_number = result.shard_number
58
57
  ds.model = self
59
- ds
58
+ ds.tap do |d|
59
+ Sequel::SchemaSharding::DTraceProvider.provider.shard_for.fire(id.to_s, d.shard_number) if Sequel::SchemaSharding::DTraceProvider.provider.shard_for.enabled?
60
+ end
60
61
  end
61
62
 
62
63
  def read_only_shard_for(id)
63
- Sequel::SchemaSharding::DTraceProvider.provider.read_only_shard_for.fire(id.to_s) if Sequel::SchemaSharding::DTraceProvider.provider.read_only_shard_for.enabled?
64
- shard_for(id).server(:read_only)
64
+ shard_for(id).server(:read_only).tap do |d|
65
+ Sequel::SchemaSharding::DTraceProvider.provider.read_only_shard_for.fire(id.to_s, d.shard_number) if Sequel::SchemaSharding::DTraceProvider.provider.read_only_shard_for.enabled?
66
+ end
65
67
  end
66
68
 
67
69
  # The result of a lookup for the given id. See Sequel::SchemaSharding::Finder::Result
@@ -1,5 +1,5 @@
1
1
  module Sequel
2
2
  module SchemaSharding
3
- VERSION = "0.13.1"
3
+ VERSION = "0.13.2"
4
4
  end
5
5
  end
@@ -43,7 +43,7 @@ describe Sequel::SchemaSharding::DTraceProvider do
43
43
  end
44
44
 
45
45
  it 'takes a string argument' do
46
- expect(provider.read_only_shard_for.arguments).to eq([:string])
46
+ expect(provider.read_only_shard_for.arguments).to eq([:string, :integer])
47
47
  end
48
48
  end
49
49
 
@@ -61,7 +61,7 @@ describe Sequel::SchemaSharding::DTraceProvider do
61
61
  end
62
62
 
63
63
  it 'takes a string argument' do
64
- expect(provider.read_only_shard_for.arguments).to eq([:string])
64
+ expect(provider.read_only_shard_for.arguments).to eq([:string, :integer])
65
65
  end
66
66
  end
67
67
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel-schema-sharding
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.1
4
+ version: 0.13.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Henry
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-07-10 00:00:00.000000000 Z
13
+ date: 2014-11-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sequel
@@ -174,7 +174,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
174
  version: '0'
175
175
  requirements: []
176
176
  rubyforge_project:
177
- rubygems_version: 2.2.0
177
+ rubygems_version: 2.2.2
178
178
  signing_key:
179
179
  specification_version: 4
180
180
  summary: Create horizontally sharded Sequel models with Postgres