fresh_connection 2.0.3 → 2.0.4

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: df47e1e84e43368ebd3a26c1bdcf6166c5954e43
4
- data.tar.gz: 4d754536e5d1d7484db5f5ae9a798ce78e51fc9a
3
+ metadata.gz: 4f0099a9699f28409d5dd92f40152a0147fcde55
4
+ data.tar.gz: c440711fcbd474eb05e88b5fbc13e79643a349ba
5
5
  SHA512:
6
- metadata.gz: 7e62ede00dc5d508f86d2a099addd2aaf01ca4c9f6478acc637fda7e087fa472b5b8e5923f72c2c0015f783bb3ee7caeae3578682ee53b3e3eb41b321003c991
7
- data.tar.gz: 79d55f2458a6b047b18939d0fcebc73394167e4f2669527cf97b6a023165dd1855f110ca259db4be6086d8c7ba70e2d07ddcddb33999a19a49239503cb5a2cc1
6
+ metadata.gz: 8089e336ad1b03c4ba96f5ab75c9ea1c8eb98cd203de7e955288bbab5c2a2f6e90f55cf1bb569bfdab2d29b71e3eb307c5a9c0ccd09bb67dff0c48f377a68e67
7
+ data.tar.gz: 834527ba27d5664a42eb4679e0d3c95ea02af26c70b139563f3cd926da097b6a6af518853edea386fd02f22eec571cdc0023997f6fe4de223059441b596d3685
data/Appraisals CHANGED
@@ -17,7 +17,7 @@ appraise "rails42" do
17
17
  end
18
18
 
19
19
  appraise "rails50" do
20
- gem 'activerecord', '5.0.0.beta3'
21
- gem 'activesupport', '5.0.0.beta3'
20
+ gem 'activerecord', '5.0.0.rc1'
21
+ gem 'activesupport', '5.0.0.rc1'
22
22
  gem 'mysql2', '>= 0.3.18', '< 0.5'
23
23
  end
@@ -2,8 +2,8 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "5.0.0.beta3"
6
- gem "activesupport", "5.0.0.beta3"
5
+ gem "activerecord", "5.0.0.rc1"
6
+ gem "activesupport", "5.0.0.rc1"
7
7
  gem "mysql2", ">= 0.3.18", "< 0.5"
8
8
 
9
9
  gemspec :path => "../"
@@ -39,12 +39,21 @@ module FreshConnection
39
39
  end
40
40
 
41
41
  def read_master!
42
- @read_from_master = true
42
+ self.read_master_value = true
43
43
  self
44
44
  end
45
45
 
46
+ def read_master_value
47
+ @values[:read_master]
48
+ end
49
+
50
+ def read_master_value=(value)
51
+ raise ImmutableRelation if @loaded
52
+ @values[:read_master] = value
53
+ end
54
+
46
55
  def enable_slave_access
47
- connection.open_transactions == 0 && !defined?(@read_from_master)
56
+ connection.open_transactions == 0 && !read_master_value
48
57
  end
49
58
 
50
59
  private
@@ -0,0 +1,12 @@
1
+ module FreshConnection
2
+ module Extend
3
+ module ArRelationMerger
4
+ private
5
+
6
+ def merge_single_values
7
+ relation.read_master_value = values[:read_master] unless relation.read_master_value
8
+ super
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,11 +1,13 @@
1
1
  require 'active_record'
2
2
  require 'fresh_connection/extend/ar_base'
3
3
  require 'fresh_connection/extend/ar_relation'
4
+ require 'fresh_connection/extend/ar_relation_merger'
4
5
  require 'fresh_connection/extend/ar_abstract_adapter'
5
6
 
6
7
  module ActiveRecord
7
8
  Base.extend FreshConnection::Extend::ArBase
8
9
  Relation.send :prepend, FreshConnection::Extend::ArRelation
10
+ Relation::Merger.send :prepend, FreshConnection::Extend::ArRelationMerger
9
11
 
10
12
  if defined?(StatementCache)
11
13
  require 'fresh_connection/extend/ar_statement_cache'
@@ -1,4 +1,4 @@
1
1
  module FreshConnection
2
- VERSION = "2.0.3"
2
+ VERSION = "2.0.4"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fresh_connection
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tsukasa OISHI
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-04-13 00:00:00.000000000 Z
11
+ date: 2016-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -206,6 +206,7 @@ files:
206
206
  - lib/fresh_connection/extend/ar_abstract_adapter.rb
207
207
  - lib/fresh_connection/extend/ar_base.rb
208
208
  - lib/fresh_connection/extend/ar_relation.rb
209
+ - lib/fresh_connection/extend/ar_relation_merger.rb
209
210
  - lib/fresh_connection/extend/ar_statement_cache.rb
210
211
  - lib/fresh_connection/rack/connection_management.rb
211
212
  - lib/fresh_connection/railtie.rb