fresh_connection 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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