slaver 0.2.0 → 0.2.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: 1195fe5705334e98e82be1ea709878b918f927fd
4
- data.tar.gz: c835149d6c8a7bd3e7d5910c148032b2fadd3546
3
+ metadata.gz: c3a9d0de100e324111ce57dce5c64413f08f3cf6
4
+ data.tar.gz: d5cd0db08e4f0e54a1d28bcdca40d1e8338a5d55
5
5
  SHA512:
6
- metadata.gz: fa306f8b191c439d002a186c79ba6d326e7372f350f6156f6cc72e8cb0d9b26c0463163798a06dc7ba5a6e8eedad0f6d6d64e8f888e165c5ee541183a6457b6b
7
- data.tar.gz: f558a3b437af32175fe0544ad4654758c6da9c3398855d2ad66ea3105e251e092c635e61635fb9a537b35fbaf6d615db89343b8668a9eb959a649634827c4580
6
+ metadata.gz: 74a4dddceb87270b94cdf89c6a9ad43b038a4335e55b340b6c4d66b892cf2547e584eb860e9cfe8e7023c0ff7bf4535343b03e481d801bca7bc67897a176c886
7
+ data.tar.gz: d9301338a24300226f16eda68f2fc1673f0afafe24e825916459135f76a9b14e93471d19b6f6e16e0777cc36afd25e6ce9fecc19abba2800c8283f7977d11b40
@@ -0,0 +1,38 @@
1
+ matrix:
2
+ include:
3
+ - DOCKER_RUBY_VERSION: 2.2
4
+ RUBY_IMAGE_TAG: 2.2-latest
5
+
6
+ - DOCKER_RUBY_VERSION: 2.3
7
+ RUBY_IMAGE_TAG: 2.3-latest
8
+
9
+ build:
10
+ test:
11
+ image: abakpress/dind-testing
12
+ privileged: true
13
+ volumes:
14
+ - /home/data/drone/images:/images
15
+ - /home/data/drone/gems:/bundle
16
+ environment:
17
+ - COMPOSE_FILE_EXT=drone
18
+ - RAILS_ENV=test
19
+ - RUBY_IMAGE_TAG=2.2-latest
20
+ commands:
21
+ - wrapdocker docker -v
22
+
23
+ - fetch-images
24
+ --image abakpress/ruby-app:$RUBY_IMAGE_TAG
25
+
26
+ - dip provision
27
+ - dip rspec
28
+
29
+ release:
30
+ image: abakpress/gem-publication
31
+ pull: true
32
+ when:
33
+ event: push
34
+ branch: master
35
+ volumes:
36
+ - /home/data/drone/rubygems:/root/.gem
37
+ commands:
38
+ - release-gem --public
data/.gitignore CHANGED
@@ -9,6 +9,5 @@
9
9
  /spec/reports/
10
10
  /tmp/
11
11
  gemfiles/
12
- spec/internal/config/database.yml
13
12
  spec/internal/test_other
14
13
  spec/internal/test
data/Appraisals CHANGED
@@ -1,19 +1,14 @@
1
- appraise 'rails3.1' do
2
- gem 'rails', '~> 3.1.0'
3
- end
4
-
5
- appraise 'rails3.2' do
6
- gem 'rails', '~> 3.2.0'
7
- end
8
-
9
1
  appraise 'rails4.0' do
10
2
  gem 'rails', '~> 4.0.0'
3
+ gem 'sqlite3', '~> 1.3.6'
11
4
  end
12
5
 
13
6
  appraise 'rails4.1' do
14
7
  gem 'rails', '~> 4.1.0'
8
+ gem 'sqlite3', '~> 1.3.6'
15
9
  end
16
10
 
17
11
  appraise 'rails4.2' do
18
12
  gem 'rails', '~> 4.2.0'
13
+ gem 'sqlite3', '~> 1.3.6'
19
14
  end
@@ -1,12 +1,35 @@
1
+ # v0.2.2
1
2
 
2
- #### [Current]
3
- * 2015-11-23 [f186f6c](../../commit/f186f6c) - __(Denis Korobitcin)__ fix(slavable): special methods capability
4
-
5
- #### v0.0.1
6
- * 2015-11-16 [0c6b8ad](../../commit/0c6b8ad) - __(Denis Korobitcin)__ Release 0.0.1
7
- * 2015-11-03 [172eda3](../../commit/172eda3) - __(Denis Korobitcin)__ fix(slavable): add block support
8
- * 2015-10-22 [b67f807](../../commit/b67f807) - __(Denis Korobitcin)__ feature: added slavable extension
9
- * 2015-10-23 [9dc8cf0](../../commit/9dc8cf0) - __(Denis Korobitcin)__ chore(readme): fixed within section [skip ci]
10
- * 2015-10-22 [bbb2535](../../commit/bbb2535) - __(Denis Korobitcin)__ chore: Big refactoring
11
- * 2015-10-19 [b64de51](../../commit/b64de51) - __(Denis Korobitcin)__ feature: added main slaver logic
12
- * 2015-10-19 [4441efa](../../commit/4441efa) - __(Artem Napolskih)__ Initial commit
3
+ * 2019-12-16 [6f4f370](../../commit/6f4f370) - __(ZhidkovDenis)__ Release 0.2.2
4
+ * 2019-12-16 [d25637b](../../commit/d25637b) - __(ZhidkovDenis)__ fix: separate test and release sections in drone config
5
+ * 2019-12-02 [94932dc](../../commit/94932dc) - __(ZhidkovDenis)__ Release 0.2.1
6
+ * 2019-12-02 [e842c9f](../../commit/e842c9f) - __(ZhidkovDenis)__ fix: add missed definition for Slaver::Proxy#respond_to_missing?
7
+ Slaver::Proxy#respond_to? now will check if Slaver::Proxy#safe_connection
8
+ could respond to specified method.
9
+
10
+ * 2019-12-02 [29081ac](../../commit/29081ac) - __(ZhidkovDenis)__ chore: remove old rails and ruby support, actualize .drone.yml
11
+ * 2016-12-27 [7cb588c](../../commit/7cb588c) - __(Denis Korobicyn)__ chore: add dip & drone
12
+
13
+ # v0.2.0
14
+
15
+ * 2016-12-14 [019562a](../../commit/019562a) - __(TamarinEA)__ feat: support rails 4
16
+ * 2015-11-24 [12c8036](../../commit/12c8036) - __(Denis Korobitcin)__ Release 0.0.2
17
+ * 2015-11-23 [a93dd20](../../commit/a93dd20) - __(Denis Korobitcin)__ chore(readme): within method and some spelling [skip ci]
18
+ * 2015-11-23 [f186f6c](../../commit/f186f6c) - __(Denis Korobitcin)__ fix(slavable): special methods capability
19
+
20
+ # v0.0.1
21
+
22
+ * 2015-11-03 [172eda3](../../commit/172eda3) - __(Denis Korobitcin)__ fix(slavable): add block support
23
+ * 2015-10-22 [b67f807](../../commit/b67f807) - __(Denis Korobitcin)__ feature: added slavable extension
24
+ * 2015-10-23 [9dc8cf0](../../commit/9dc8cf0) - __(Denis Korobitcin)__ chore(readme): fixed within section [skip ci]
25
+ * 2015-10-22 [bbb2535](../../commit/bbb2535) - __(Denis Korobitcin)__ chore: Big refactoring
26
+ Changes:
27
+ 1. `on` now working throught `within`
28
+ 2. For `within` config independent of class on which it used
29
+ 3. Moved all logic to different classes
30
+ 3.1. pools -> PoolsHandler
31
+ 3.2. config -> ConfigHandler
32
+ 3.3. `on` now creaating ScopeProxy which send all missing_methods to base class with within block
33
+
34
+ * 2015-10-19 [b64de51](../../commit/b64de51) - __(Denis Korobitcin)__ feature: added main slaver logic
35
+ * 2015-10-19 [4441efa](../../commit/4441efa) - __(Artem Napolskih)__ Initial commit
data/Gemfile CHANGED
@@ -2,7 +2,13 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- if RUBY_VERSION < '2'
6
- gem 'mime-types', '< 3.0'
7
- gem 'json', '< 2.0'
5
+ group :test do
6
+ if RUBY_VERSION < '2'
7
+ gem 'mime-types', '< 3.0'
8
+ gem 'json', '< 2.0'
9
+ gem 'nokogiri', '< 1.7.0'
10
+ else
11
+ gem 'test-unit'
12
+ gem 'pry-byebug'
13
+ end
8
14
  end
data/dip.yml ADDED
@@ -0,0 +1,45 @@
1
+ version: '1'
2
+
3
+ environment:
4
+ DOCKER_RUBY_VERSION: 2.2
5
+ RUBY_IMAGE_TAG: 2.2-latest
6
+ COMPOSE_FILE_EXT: development
7
+ RAILS_ENV: test
8
+
9
+ compose:
10
+ files:
11
+ - docker-compose.yml
12
+ - docker-compose.${COMPOSE_FILE_EXT}.yml
13
+
14
+ interaction:
15
+ sh:
16
+ service: app
17
+
18
+ irb:
19
+ service: app
20
+ command: irb
21
+
22
+ bundle:
23
+ service: app
24
+ command: bundle
25
+
26
+ rake:
27
+ service: app
28
+ command: bundle exec rake
29
+
30
+ appraisal:
31
+ service: app
32
+ command: bundle exec appraisal
33
+
34
+ rspec:
35
+ service: app
36
+ command: bundle exec appraisal bundle exec rspec
37
+
38
+ clean:
39
+ service: app
40
+ command: rm -f Gemfile.lock gemfiles/*.gemfile.*
41
+
42
+ provision:
43
+ - docker volume create --name bundler_data
44
+ - dip bundle install
45
+ - dip appraisal install
@@ -0,0 +1,14 @@
1
+ version: '2'
2
+
3
+ services:
4
+ app:
5
+ volumes:
6
+ - .:/app
7
+ - ../:/localgems
8
+ - bundler-data:/bundle
9
+
10
+ volumes:
11
+ bundler-data:
12
+ external:
13
+ name: bundler_data
14
+
@@ -0,0 +1,7 @@
1
+ version: '2'
2
+
3
+ services:
4
+ app:
5
+ volumes:
6
+ - .:/app
7
+ - /bundle:/bundle
@@ -0,0 +1,9 @@
1
+ version: '2'
2
+
3
+ services:
4
+ app:
5
+ image: abakpress/ruby-app:$RUBY_IMAGE_TAG
6
+ environment:
7
+ - BUNDLE_PATH=/bundle/$DOCKER_RUBY_VERSION
8
+ - BUNDLE_CONFIG=/app/.bundle/config
9
+ command: bash
@@ -34,5 +34,9 @@ module Slaver
34
34
  def method_missing(method, *args, &block)
35
35
  safe_connection.send(method, *args, &block)
36
36
  end
37
+
38
+ def respond_to_missing?(method, include_private = false)
39
+ safe_connection.respond_to?(method, include_private) || super
40
+ end
37
41
  end
38
42
  end
@@ -1,3 +1,3 @@
1
1
  module Slaver
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.2'.freeze
3
3
  end
@@ -18,8 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency 'activerecord', '>= 3.1.0', '< 5.0'
22
- spec.add_runtime_dependency 'activesupport', '>= 3.1.0', '< 5.0'
21
+ spec.add_runtime_dependency 'activerecord', '>= 4.0', '< 5.0'
22
+ spec.add_runtime_dependency 'activesupport', '>= 4.0', '< 5.0'
23
23
 
24
24
  spec.add_development_dependency 'bundler'
25
25
  spec.add_development_dependency 'rake'
@@ -27,7 +27,6 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency 'rspec-rails'
28
28
  spec.add_development_dependency 'combustion', '>= 0.5.0', '< 0.5.5'
29
29
  spec.add_development_dependency 'appraisal'
30
- spec.add_development_dependency 'pry-debugger'
31
30
  spec.add_development_dependency 'shoulda-matchers', '< 3.0.0'
32
31
  spec.add_development_dependency 'simplecov'
33
32
  spec.add_development_dependency 'database_cleaner'
metadata CHANGED
@@ -1,215 +1,201 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slaver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Korobitcin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-14 00:00:00.000000000 Z
11
+ date: 2019-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- version_requirements: !ruby/object:Gem::Requirement
15
- requirements:
16
- - - '>='
17
- - !ruby/object:Gem::Version
18
- version: 3.1.0
19
- - - <
20
- - !ruby/object:Gem::Version
21
- version: '5.0'
22
14
  name: activerecord
23
15
  requirement: !ruby/object:Gem::Requirement
24
16
  requirements:
25
- - - '>='
17
+ - - ">="
26
18
  - !ruby/object:Gem::Version
27
- version: 3.1.0
28
- - - <
19
+ version: '4.0'
20
+ - - "<"
29
21
  - !ruby/object:Gem::Version
30
22
  version: '5.0'
31
23
  type: :runtime
32
24
  prerelease: false
33
- - !ruby/object:Gem::Dependency
34
25
  version_requirements: !ruby/object:Gem::Requirement
35
26
  requirements:
36
- - - '>='
27
+ - - ">="
37
28
  - !ruby/object:Gem::Version
38
- version: 3.1.0
39
- - - <
29
+ version: '4.0'
30
+ - - "<"
40
31
  - !ruby/object:Gem::Version
41
32
  version: '5.0'
33
+ - !ruby/object:Gem::Dependency
42
34
  name: activesupport
43
35
  requirement: !ruby/object:Gem::Requirement
44
36
  requirements:
45
- - - '>='
37
+ - - ">="
46
38
  - !ruby/object:Gem::Version
47
- version: 3.1.0
48
- - - <
39
+ version: '4.0'
40
+ - - "<"
49
41
  - !ruby/object:Gem::Version
50
42
  version: '5.0'
51
43
  type: :runtime
52
44
  prerelease: false
53
- - !ruby/object:Gem::Dependency
54
45
  version_requirements: !ruby/object:Gem::Requirement
55
46
  requirements:
56
- - - '>='
47
+ - - ">="
57
48
  - !ruby/object:Gem::Version
58
- version: '0'
49
+ version: '4.0'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '5.0'
53
+ - !ruby/object:Gem::Dependency
59
54
  name: bundler
60
55
  requirement: !ruby/object:Gem::Requirement
61
56
  requirements:
62
- - - '>='
57
+ - - ">="
63
58
  - !ruby/object:Gem::Version
64
59
  version: '0'
65
60
  type: :development
66
61
  prerelease: false
67
- - !ruby/object:Gem::Dependency
68
62
  version_requirements: !ruby/object:Gem::Requirement
69
63
  requirements:
70
- - - '>='
64
+ - - ">="
71
65
  - !ruby/object:Gem::Version
72
66
  version: '0'
67
+ - !ruby/object:Gem::Dependency
73
68
  name: rake
74
69
  requirement: !ruby/object:Gem::Requirement
75
70
  requirements:
76
- - - '>='
71
+ - - ">="
77
72
  - !ruby/object:Gem::Version
78
73
  version: '0'
79
74
  type: :development
80
75
  prerelease: false
81
- - !ruby/object:Gem::Dependency
82
76
  version_requirements: !ruby/object:Gem::Requirement
83
77
  requirements:
84
- - - ~>
78
+ - - ">="
85
79
  - !ruby/object:Gem::Version
86
- version: '3.3'
80
+ version: '0'
81
+ - !ruby/object:Gem::Dependency
87
82
  name: rspec
88
83
  requirement: !ruby/object:Gem::Requirement
89
84
  requirements:
90
- - - ~>
85
+ - - "~>"
91
86
  - !ruby/object:Gem::Version
92
87
  version: '3.3'
93
88
  type: :development
94
89
  prerelease: false
95
- - !ruby/object:Gem::Dependency
96
90
  version_requirements: !ruby/object:Gem::Requirement
97
91
  requirements:
98
- - - '>='
92
+ - - "~>"
99
93
  - !ruby/object:Gem::Version
100
- version: '0'
94
+ version: '3.3'
95
+ - !ruby/object:Gem::Dependency
101
96
  name: rspec-rails
102
97
  requirement: !ruby/object:Gem::Requirement
103
98
  requirements:
104
- - - '>='
99
+ - - ">="
105
100
  - !ruby/object:Gem::Version
106
101
  version: '0'
107
102
  type: :development
108
103
  prerelease: false
109
- - !ruby/object:Gem::Dependency
110
104
  version_requirements: !ruby/object:Gem::Requirement
111
105
  requirements:
112
- - - '>='
113
- - !ruby/object:Gem::Version
114
- version: 0.5.0
115
- - - <
106
+ - - ">="
116
107
  - !ruby/object:Gem::Version
117
- version: 0.5.5
108
+ version: '0'
109
+ - !ruby/object:Gem::Dependency
118
110
  name: combustion
119
111
  requirement: !ruby/object:Gem::Requirement
120
112
  requirements:
121
- - - '>='
113
+ - - ">="
122
114
  - !ruby/object:Gem::Version
123
115
  version: 0.5.0
124
- - - <
116
+ - - "<"
125
117
  - !ruby/object:Gem::Version
126
118
  version: 0.5.5
127
119
  type: :development
128
120
  prerelease: false
129
- - !ruby/object:Gem::Dependency
130
121
  version_requirements: !ruby/object:Gem::Requirement
131
122
  requirements:
132
- - - '>='
123
+ - - ">="
133
124
  - !ruby/object:Gem::Version
134
- version: '0'
125
+ version: 0.5.0
126
+ - - "<"
127
+ - !ruby/object:Gem::Version
128
+ version: 0.5.5
129
+ - !ruby/object:Gem::Dependency
135
130
  name: appraisal
136
131
  requirement: !ruby/object:Gem::Requirement
137
132
  requirements:
138
- - - '>='
133
+ - - ">="
139
134
  - !ruby/object:Gem::Version
140
135
  version: '0'
141
136
  type: :development
142
137
  prerelease: false
143
- - !ruby/object:Gem::Dependency
144
138
  version_requirements: !ruby/object:Gem::Requirement
145
139
  requirements:
146
- - - '>='
147
- - !ruby/object:Gem::Version
148
- version: '0'
149
- name: pry-debugger
150
- requirement: !ruby/object:Gem::Requirement
151
- requirements:
152
- - - '>='
140
+ - - ">="
153
141
  - !ruby/object:Gem::Version
154
142
  version: '0'
155
- type: :development
156
- prerelease: false
157
143
  - !ruby/object:Gem::Dependency
158
- version_requirements: !ruby/object:Gem::Requirement
159
- requirements:
160
- - - <
161
- - !ruby/object:Gem::Version
162
- version: 3.0.0
163
144
  name: shoulda-matchers
164
145
  requirement: !ruby/object:Gem::Requirement
165
146
  requirements:
166
- - - <
147
+ - - "<"
167
148
  - !ruby/object:Gem::Version
168
149
  version: 3.0.0
169
150
  type: :development
170
151
  prerelease: false
171
- - !ruby/object:Gem::Dependency
172
152
  version_requirements: !ruby/object:Gem::Requirement
173
153
  requirements:
174
- - - '>='
154
+ - - "<"
175
155
  - !ruby/object:Gem::Version
176
- version: '0'
156
+ version: 3.0.0
157
+ - !ruby/object:Gem::Dependency
177
158
  name: simplecov
178
159
  requirement: !ruby/object:Gem::Requirement
179
160
  requirements:
180
- - - '>='
161
+ - - ">="
181
162
  - !ruby/object:Gem::Version
182
163
  version: '0'
183
164
  type: :development
184
165
  prerelease: false
185
- - !ruby/object:Gem::Dependency
186
166
  version_requirements: !ruby/object:Gem::Requirement
187
167
  requirements:
188
- - - '>='
168
+ - - ">="
189
169
  - !ruby/object:Gem::Version
190
170
  version: '0'
171
+ - !ruby/object:Gem::Dependency
191
172
  name: database_cleaner
192
173
  requirement: !ruby/object:Gem::Requirement
193
174
  requirements:
194
- - - '>='
175
+ - - ">="
195
176
  - !ruby/object:Gem::Version
196
177
  version: '0'
197
178
  type: :development
198
179
  prerelease: false
199
- - !ruby/object:Gem::Dependency
200
180
  version_requirements: !ruby/object:Gem::Requirement
201
181
  requirements:
202
- - - '>='
182
+ - - ">="
203
183
  - !ruby/object:Gem::Version
204
184
  version: '0'
185
+ - !ruby/object:Gem::Dependency
205
186
  name: sqlite3
206
187
  requirement: !ruby/object:Gem::Requirement
207
188
  requirements:
208
- - - '>='
189
+ - - ">="
209
190
  - !ruby/object:Gem::Version
210
191
  version: '0'
211
192
  type: :development
212
193
  prerelease: false
194
+ version_requirements: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
213
199
  description:
214
200
  email:
215
201
  - deniskorobitcin@gmail.com
@@ -217,16 +203,20 @@ executables: []
217
203
  extensions: []
218
204
  extra_rdoc_files: []
219
205
  files:
220
- - .gitignore
221
- - .rspec
206
+ - ".drone.yml"
207
+ - ".gitignore"
208
+ - ".rspec"
222
209
  - Appraisals
223
210
  - CHANGELOG.md
224
211
  - Gemfile
225
212
  - LICENSE.txt
226
- - Makefile
227
213
  - README.md
228
214
  - Rakefile
229
215
  - config.ru
216
+ - dip.yml
217
+ - docker-compose.development.yml
218
+ - docker-compose.drone.yml
219
+ - docker-compose.yml
230
220
  - lib/slavable.rb
231
221
  - lib/slaver.rb
232
222
  - lib/slaver/config_handler.rb
@@ -248,17 +238,17 @@ require_paths:
248
238
  - lib
249
239
  required_ruby_version: !ruby/object:Gem::Requirement
250
240
  requirements:
251
- - - '>='
241
+ - - ">="
252
242
  - !ruby/object:Gem::Version
253
243
  version: '0'
254
244
  required_rubygems_version: !ruby/object:Gem::Requirement
255
245
  requirements:
256
- - - '>='
246
+ - - ">="
257
247
  - !ruby/object:Gem::Version
258
248
  version: '0'
259
249
  requirements: []
260
250
  rubyforge_project:
261
- rubygems_version: 2.4.8
251
+ rubygems_version: 2.6.1
262
252
  signing_key:
263
253
  specification_version: 4
264
254
  summary: Instant change of connection in rails application.
data/Makefile DELETED
@@ -1,31 +0,0 @@
1
- BUNDLE = bundle
2
- BUNDLE_OPTIONS = -j 3
3
- RSPEC = ${APPRAISAL} rspec
4
- APPRAISAL = ${BUNDLE} exec appraisal
5
-
6
- all: test
7
-
8
- test: configs bundler appraisal
9
- ${RSPEC} 2>&1
10
-
11
- define DATABASE_YML
12
- test:
13
- adapter: sqlite3
14
- database: test
15
- test_other:
16
- adapter: sqlite3
17
- database: test_other
18
- endef
19
- export DATABASE_YML
20
-
21
- configs:
22
- echo "$${DATABASE_YML}" > spec/internal/config/database.yml
23
-
24
- bundler:
25
- if ! gem list bundler -i > /dev/null; then \
26
- gem install bundler; \
27
- fi
28
- ${BUNDLE} install ${BUNDLE_OPTIONS}
29
-
30
- appraisal:
31
- ${APPRAISAL} install