janus-ar 0.4.0 → 0.5.0

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: 0c569e79520f7bb9b717f510e846d92be2ece788e5a435877490caf446bb6f88
4
- data.tar.gz: 6989399531b92524bd8ed5e23422a2c9e619bb2c074f244c7ab74c55c208c0f1
3
+ metadata.gz: c98a42deb00198b9715f86f8bee613e885c046be1b6f7ece50d64c1493227b90
4
+ data.tar.gz: 2db888f02a4b707fcb9e75dc90c86aefff19f6ace5ee2a33a38c6dadc6b14ec9
5
5
  SHA512:
6
- metadata.gz: 4245ff2a4dfb38364e61eacd0482831e1767d60c9300eb167e8bda22b765531121876de5190c58ac8cc0ea5fccaedd0adf8b21791add9e311d86e35ea9172c44
7
- data.tar.gz: 6e2d88feb5bae96f25c6ef9685f2c310db92c9098728ca9eb0af63f53fb2a6c981ab17a51b1797e4d2ba625ac931d127d05838cae095526c7f588b4b08bd1998
6
+ metadata.gz: 53fdd8901b56a41a1ae2e10549fe3c87a2a1d96bb14923c5879bebe5223f81853582e941483488c8076d1cae3612a5be666df14698276ce6760294a6d9bcd9cd
7
+ data.tar.gz: 2a50f4a05ffbded2bb3bb15ab7e692251ee9daefc42d27029cb86a355d1c9321e2739c6410362b19df270c33caa4ad8357ba7c18ff4cdbc11ad81c51b85b8f05
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ janus-ar-*.gem
data/.rubocop.yml CHANGED
@@ -9,4 +9,7 @@ Rails/Delegate:
9
9
 
10
10
  Metrics/BlockLength:
11
11
  Exclude:
12
- - spec/**/*
12
+ - spec/**/*
13
+
14
+ Metrics/AbcSize:
15
+ Max: 22
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- janus-ar (0.3.0)
4
+ janus-ar (0.4.0)
5
5
 
6
6
  GEM
7
7
  remote: http://rubygems.org/
data/README.md CHANGED
@@ -35,10 +35,10 @@ Update your **database.yml** as follows:
35
35
  ```yml
36
36
  development:
37
37
  adapter: janus_mysql2
38
+ database: database_name
38
39
  janus:
39
40
  primary:
40
41
  <<: *default
41
- database: database_name
42
42
  host: primary-host.local
43
43
  replica:
44
44
  <<: *default
@@ -30,7 +30,6 @@ module ActiveRecord
30
30
 
31
31
  @replica_config = args[0][:janus]['replica']
32
32
  args[0] = args[0][:janus]['primary']
33
-
34
33
  super(*args)
35
34
  @connection_parameters ||= args[0]
36
35
  update_config
@@ -89,11 +88,14 @@ module ActiveRecord
89
88
  end
90
89
 
91
90
  def can_go_to_replica?(sql)
92
- return false if Janus::Context.use_primary? ||
93
- open_transactions.positive? ||
94
- SQL_PRIMARY_MATCHERS.any? { |matcher| sql =~ matcher }
91
+ !should_go_to_primary?(sql)
92
+ end
95
93
 
96
- true
94
+ def should_go_to_primary?(sql)
95
+ Janus::Context.use_primary? ||
96
+ write_query?(sql) ||
97
+ open_transactions.positive? ||
98
+ SQL_PRIMARY_MATCHERS.any? { |matcher| sql =~ matcher }
97
99
  end
98
100
 
99
101
  def send_to_replica(sql, connection: nil, method: :exec_query)
data/lib/janus/version.rb CHANGED
@@ -4,7 +4,7 @@ module Janus
4
4
  unless defined?(::Janus::VERSION)
5
5
  module VERSION
6
6
  MAJOR = 0
7
- MINOR = 4
7
+ MINOR = 5
8
8
  PATCH = 0
9
9
  PRE = nil
10
10
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: janus-ar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lloyd Watkin
@@ -117,6 +117,7 @@ extra_rdoc_files: []
117
117
  files:
118
118
  - ".github/dependabot.yml"
119
119
  - ".github/workflows/ci.yml"
120
+ - ".gitignore"
120
121
  - ".rspec"
121
122
  - ".rubocop.yml"
122
123
  - CODE_OF_CONDUCT.md