ebisu_connection 0.1.0 → 0.1.1

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: 3bea33e80ff8e417162f05398ebb64531751825b
4
- data.tar.gz: a908cbe78a57d95209b8660de521a1371f0e5b05
3
+ metadata.gz: cce03246ed6e2fdd861e08fda5c26ac5055dfd93
4
+ data.tar.gz: 39ef771e7f321a9d48067054ac454c049497af48
5
5
  SHA512:
6
- metadata.gz: c407ba2f24d9466e390eae96ff9931630b4f5ddd0361135d1e07c3d491e7d01e297c1f501ef0004130c5a49c6d0e9fd934877e2ff1ec8d244fd0ffd515851d2e
7
- data.tar.gz: 871ee55618b50ffc9e833f9933d1706f1127a081d2d1c644d634cf26906d9c90e5f440fb3a537edb4b2735ab7f8cf069606003e74281b0b9bd8b1428aa143309
6
+ metadata.gz: 0f97f3d8eff3282cdf4a200ba1da8d65a3d6c23b1bcd81dddcba2d1472ed6d9e03b83b19730556a8297871b58226e635b20898df0b38c4988808b951ca93f254
7
+ data.tar.gz: b239dfdb465fe2c4eee2ea400b9e732777600e7e9b56452cac780dea29198bfe9a3a83b0bb89beac53185520b90182ee317a35ed10803226c43969337cd53b78
data/Appraisals CHANGED
@@ -1,17 +1,14 @@
1
1
  appraise "rails3" do
2
2
  gem "activerecord", "~> 3.2.0"
3
3
  gem "activesupport", "~> 3.2.0"
4
- gem "railties", "~> 3.2.0"
5
4
  end
6
5
 
7
6
  appraise "rails40" do
8
7
  gem "activerecord", "~> 4.0.0"
9
8
  gem "activesupport", "~> 4.0.0"
10
- gem "railties", "~> 4.0.0"
11
9
  end
12
10
 
13
11
  appraise "rails41" do
14
12
  gem "activerecord", "~> 4.1.0"
15
13
  gem "activesupport", "~> 4.1.0"
16
- gem "railties", "~> 4.1.0"
17
14
  end
@@ -18,11 +18,11 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency 'fresh_connection', '~> 0.2.0'
21
+ spec.add_dependency 'fresh_connection', '~> 0.2.0', '>= 0.2.2'
22
+ spec.add_dependency 'mysql2', '~> 0.3'
22
23
 
23
- spec.add_development_dependency "bundler", "~> 1.3"
24
- spec.add_development_dependency "rake", '>= 10.0.0'
25
- spec.add_development_dependency "rspec", '>= 2.14.1'
26
- spec.add_development_dependency 'mysql2', '>= 0.3.15'
27
- spec.add_development_dependency 'appraisal', '>= 1.0.0'
24
+ spec.add_development_dependency "bundler", "~> 1.6"
25
+ spec.add_development_dependency "rake", '~> 10.0'
26
+ spec.add_development_dependency "rspec", '~> 2.14'
27
+ spec.add_development_dependency 'appraisal', '~> 1.0'
28
28
  end
@@ -4,6 +4,5 @@ source "https://rubygems.org"
4
4
 
5
5
  gem "activerecord", "~> 3.2.0"
6
6
  gem "activesupport", "~> 3.2.0"
7
- gem "railties", "~> 3.2.0"
8
7
 
9
8
  gemspec :path => "../"
@@ -4,6 +4,5 @@ source "https://rubygems.org"
4
4
 
5
5
  gem "activerecord", "~> 4.0.0"
6
6
  gem "activesupport", "~> 4.0.0"
7
- gem "railties", "~> 4.0.0"
8
7
 
9
8
  gemspec :path => "../"
@@ -4,6 +4,5 @@ source "https://rubygems.org"
4
4
 
5
5
  gem "activerecord", "~> 4.1.0"
6
6
  gem "activesupport", "~> 4.1.0"
7
- gem "railties", "~> 4.1.0"
8
7
 
9
8
  gemspec :path => "../"
@@ -29,7 +29,9 @@ module EbisuConnection
29
29
  end
30
30
 
31
31
  def slaves_file
32
- @slaves_file || File.join(Rails.root, "config/slave.yaml")
32
+ return @slaves_file if @slaves_file
33
+ raise "nothing slaves_file. You have to set a file path using EbisuConnection.slaves_file= method" unless defined?(Rails)
34
+ File.join(Rails.root, "config/slave.yaml")
33
35
  end
34
36
 
35
37
  def check_interval
@@ -55,11 +57,11 @@ module EbisuConnection
55
57
  def get_slaves_conf
56
58
  @file_mtime = File.mtime(slaves_file)
57
59
  conf = YAML.load_file(slaves_file)
58
- conf[Rails.env.to_s] || {}
60
+ conf[FreshConnection.env.to_s] || {}
59
61
  end
60
62
 
61
63
  def get_spec
62
- ActiveRecord::Base.configurations[Rails.env]
64
+ ActiveRecord::Base.configurations[FreshConnection.env]
63
65
  end
64
66
  end
65
67
  end
@@ -1,3 +1,3 @@
1
1
  module EbisuConnection
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/spec/database.yml ADDED
@@ -0,0 +1,10 @@
1
+ test:
2
+ adapter: mysql2
3
+ encoding: utf8
4
+ database: ebisu_connection_test_master
5
+ pool: 5
6
+ username: root
7
+ password:
8
+
9
+ slave:
10
+ database: ebisu_connection_test_slave
@@ -0,0 +1,95 @@
1
+ -- MySQL dump 10.13 Distrib 5.6.19, for osx10.9 (x86_64)
2
+ --
3
+ -- Host: localhost Database: ebisu_connection_test_master
4
+ -- ------------------------------------------------------
5
+ -- Server version 5.6.19
6
+
7
+ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
8
+ /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
9
+ /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
10
+ /*!40101 SET NAMES utf8 */;
11
+ /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
12
+ /*!40103 SET TIME_ZONE='+00:00' */;
13
+ /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
14
+ /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
15
+ /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
16
+ /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
17
+
18
+ --
19
+ -- Current Database: `ebisu_connection_test_master`
20
+ --
21
+
22
+ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `ebisu_connection_test_master` /*!40100 DEFAULT CHARACTER SET utf8 */;
23
+
24
+ USE `ebisu_connection_test_master`;
25
+
26
+ --
27
+ -- Table structure for table `users`
28
+ --
29
+
30
+ DROP TABLE IF EXISTS `users`;
31
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
32
+ /*!40101 SET character_set_client = utf8 */;
33
+ CREATE TABLE `users` (
34
+ `id` int(11) NOT NULL AUTO_INCREMENT,
35
+ `name` varchar(255) NOT NULL DEFAULT '',
36
+ `created_at` datetime DEFAULT NULL,
37
+ `updated_at` datetime DEFAULT NULL,
38
+ PRIMARY KEY (`id`)
39
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
40
+ /*!40101 SET character_set_client = @saved_cs_client */;
41
+
42
+ --
43
+ -- Dumping data for table `users`
44
+ --
45
+
46
+ LOCK TABLES `users` WRITE;
47
+ /*!40000 ALTER TABLE `users` DISABLE KEYS */;
48
+ INSERT INTO `users` VALUES (1,'Tsukasa (master)','2014-04-10 07:24:16','2014-04-10 07:24:16');
49
+ /*!40000 ALTER TABLE `users` ENABLE KEYS */;
50
+ UNLOCK TABLES;
51
+
52
+ --
53
+ -- Current Database: `ebisu_connection_test_slave`
54
+ --
55
+
56
+ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `ebisu_connection_test_slave` /*!40100 DEFAULT CHARACTER SET utf8 */;
57
+
58
+ USE `ebisu_connection_test_slave`;
59
+
60
+ --
61
+ -- Table structure for table `users`
62
+ --
63
+
64
+ DROP TABLE IF EXISTS `users`;
65
+ /*!40101 SET @saved_cs_client = @@character_set_client */;
66
+ /*!40101 SET character_set_client = utf8 */;
67
+ CREATE TABLE `users` (
68
+ `id` int(11) NOT NULL AUTO_INCREMENT,
69
+ `name` varchar(255) NOT NULL DEFAULT '',
70
+ `created_at` datetime DEFAULT NULL,
71
+ `updated_at` datetime DEFAULT NULL,
72
+ PRIMARY KEY (`id`)
73
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
74
+ /*!40101 SET character_set_client = @saved_cs_client */;
75
+
76
+ --
77
+ -- Dumping data for table `users`
78
+ --
79
+
80
+ LOCK TABLES `users` WRITE;
81
+ /*!40000 ALTER TABLE `users` DISABLE KEYS */;
82
+ INSERT INTO `users` VALUES (1,'Tsukasa (slave)','2014-04-10 07:24:16','2014-04-10 07:24:16');
83
+ /*!40000 ALTER TABLE `users` ENABLE KEYS */;
84
+ UNLOCK TABLES;
85
+ /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
86
+
87
+ /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
88
+ /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
89
+ /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
90
+ /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
91
+ /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
92
+ /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
93
+ /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
94
+
95
+ -- Dump completed on 2014-06-16 21:22:37
data/spec/prepare.rb ADDED
@@ -0,0 +1,13 @@
1
+ require 'yaml'
2
+
3
+ system("mysql -uroot < spec/db_schema.sql")
4
+
5
+ module ActiveRecord
6
+ class Base
7
+ self.configurations = YAML.load_file(File.join(File.dirname(__FILE__), "database.yml"))
8
+ establish_connection(configurations["test"])
9
+ end
10
+ end
11
+
12
+ class User < ActiveRecord::Base
13
+ end
data/spec/slaves.yaml ADDED
@@ -0,0 +1,7 @@
1
+ test:
2
+ slave:
3
+ - "localhost, 10"
4
+ - "localhost, 10"
5
+ -
6
+ host: localhost
7
+ wheight: 10
data/spec/spec_helper.rb CHANGED
@@ -3,3 +3,6 @@ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
3
3
  require 'ebisu_connection'
4
4
 
5
5
  FreshConnection::Initializer.extend_active_record
6
+ FreshConnection.env = "test"
7
+ EbisuConnection.slaves_file = File.join(File.dirname(__FILE__), "slaves.yaml")
8
+ require File.join(File.dirname(__FILE__), "prepare.rb")
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe EbisuConnection do
4
+ context "access to slave" do
5
+ it "select from User is to access to slave" do
6
+ expect(User.first.name).to be_include("slave")
7
+ end
8
+ end
9
+
10
+ context "access to master" do
11
+ it "specify readonly(false)" do
12
+ expect(User.readonly(false).first.name).to be_include("master")
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ebisu_connection
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - tsukasaoishi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-12 00:00:00.000000000 Z
11
+ date: 2014-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fresh_connection
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.2.0
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.2.2
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,76 +27,79 @@ dependencies:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
29
  version: 0.2.0
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.2.2
27
33
  - !ruby/object:Gem::Dependency
28
- name: bundler
34
+ name: mysql2
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '1.3'
34
- type: :development
39
+ version: '0.3'
40
+ type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
44
  - - "~>"
39
45
  - !ruby/object:Gem::Version
40
- version: '1.3'
46
+ version: '0.3'
41
47
  - !ruby/object:Gem::Dependency
42
- name: rake
48
+ name: bundler
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - ">="
51
+ - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: 10.0.0
53
+ version: '1.6'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
- - - ">="
58
+ - - "~>"
53
59
  - !ruby/object:Gem::Version
54
- version: 10.0.0
60
+ version: '1.6'
55
61
  - !ruby/object:Gem::Dependency
56
- name: rspec
62
+ name: rake
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
- - - ">="
65
+ - - "~>"
60
66
  - !ruby/object:Gem::Version
61
- version: 2.14.1
67
+ version: '10.0'
62
68
  type: :development
63
69
  prerelease: false
64
70
  version_requirements: !ruby/object:Gem::Requirement
65
71
  requirements:
66
- - - ">="
72
+ - - "~>"
67
73
  - !ruby/object:Gem::Version
68
- version: 2.14.1
74
+ version: '10.0'
69
75
  - !ruby/object:Gem::Dependency
70
- name: mysql2
76
+ name: rspec
71
77
  requirement: !ruby/object:Gem::Requirement
72
78
  requirements:
73
- - - ">="
79
+ - - "~>"
74
80
  - !ruby/object:Gem::Version
75
- version: 0.3.15
81
+ version: '2.14'
76
82
  type: :development
77
83
  prerelease: false
78
84
  version_requirements: !ruby/object:Gem::Requirement
79
85
  requirements:
80
- - - ">="
86
+ - - "~>"
81
87
  - !ruby/object:Gem::Version
82
- version: 0.3.15
88
+ version: '2.14'
83
89
  - !ruby/object:Gem::Dependency
84
90
  name: appraisal
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
- - - ">="
93
+ - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: 1.0.0
95
+ version: '1.0'
90
96
  type: :development
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
- - - ">="
100
+ - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: 1.0.0
102
+ version: '1.0'
97
103
  description: EbisuConnection supports to connect with Mysql slave servers. It doesn't
98
104
  need Load Balancer.
99
105
  email:
@@ -119,7 +125,12 @@ files:
119
125
  - lib/ebisu_connection/slave.rb
120
126
  - lib/ebisu_connection/slave_group.rb
121
127
  - lib/ebisu_connection/version.rb
128
+ - spec/database.yml
129
+ - spec/db_schema.sql
130
+ - spec/prepare.rb
131
+ - spec/slaves.yaml
122
132
  - spec/spec_helper.rb
133
+ - spec/unit/ebisu_connection_spec.rb
123
134
  - spec/unit/greatest_common_divisor_spec.rb
124
135
  - spec/unit/slave_group_spec.rb
125
136
  - spec/unit/slave_spec.rb
@@ -143,12 +154,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
154
  version: '0'
144
155
  requirements: []
145
156
  rubyforge_project:
146
- rubygems_version: 2.2.0
157
+ rubygems_version: 2.2.2
147
158
  signing_key:
148
159
  specification_version: 4
149
160
  summary: EbisuConnection supports to connect with Mysql slave servers.
150
161
  test_files:
162
+ - spec/database.yml
163
+ - spec/db_schema.sql
164
+ - spec/prepare.rb
165
+ - spec/slaves.yaml
151
166
  - spec/spec_helper.rb
167
+ - spec/unit/ebisu_connection_spec.rb
152
168
  - spec/unit/greatest_common_divisor_spec.rb
153
169
  - spec/unit/slave_group_spec.rb
154
170
  - spec/unit/slave_spec.rb