mcrain 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -0
- data/exe/mcrain +1 -1
- data/lib/mcrain.rb +2 -0
- data/lib/mcrain/base.rb +1 -0
- data/lib/mcrain/mysql.rb +53 -0
- data/lib/mcrain/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc578a0721095fef45ebbdb1de7e11a3e60866ff
|
4
|
+
data.tar.gz: 490854be4bd04643793c24e8df1f5a11568bd271
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97246dd34ac4c0169233327b4be1817c60a4ef8168534f3c016cb5945e37b660772496ce06e496cc05c60dc324a294cd0e342f4cad28d8b63ced9648179992cd
|
7
|
+
data.tar.gz: 6c77b085f865b76db6747afcee260aba25b66c4b42b3151d81034fd0496f12be52bdcccc371857ec25a60e044be651650903e5141523be06d09a18466a564fd3
|
data/Gemfile
CHANGED
data/exe/mcrain
CHANGED
data/lib/mcrain.rb
CHANGED
@@ -81,8 +81,10 @@ module Mcrain
|
|
81
81
|
autoload :Riak, 'mcrain/riak'
|
82
82
|
autoload :Redis, 'mcrain/redis'
|
83
83
|
autoload :Rabbitmq, 'mcrain/rabbitmq'
|
84
|
+
autoload :Mysql, 'mcrain/mysql'
|
84
85
|
|
85
86
|
register :riak, "Mcrain::Riak"
|
86
87
|
register :redis, "Mcrain::Redis"
|
87
88
|
register :rabbitmq, "Mcrain::Rabbitmq"
|
89
|
+
register :mysql, "Mcrain::Mysql"
|
88
90
|
end
|
data/lib/mcrain/base.rb
CHANGED
data/lib/mcrain/mysql.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'mcrain'
|
2
|
+
|
3
|
+
# don't require 'redis' here in order to use mcrain without 'redis' gem
|
4
|
+
# require 'redis'
|
5
|
+
|
6
|
+
module Mcrain
|
7
|
+
class Mysql < Base
|
8
|
+
self.server_name = :mysql
|
9
|
+
|
10
|
+
self.container_image = "mysql:5.5"
|
11
|
+
self.port = 3306
|
12
|
+
|
13
|
+
def client_require
|
14
|
+
'mysql2'
|
15
|
+
end
|
16
|
+
|
17
|
+
def client_class
|
18
|
+
::Mysql2::Client
|
19
|
+
end
|
20
|
+
|
21
|
+
def client_init_args
|
22
|
+
options = {
|
23
|
+
host: host,
|
24
|
+
port: port,
|
25
|
+
username: username || "root"
|
26
|
+
}
|
27
|
+
options[:password] = password if password.present?
|
28
|
+
options[:database] = database if database.present?
|
29
|
+
return [options]
|
30
|
+
end
|
31
|
+
|
32
|
+
def wait_for_ready
|
33
|
+
client.query("show databases").to_a
|
34
|
+
end
|
35
|
+
|
36
|
+
attr_accessor :db_dir
|
37
|
+
attr_accessor :database
|
38
|
+
attr_accessor :username, :password
|
39
|
+
|
40
|
+
def docker_extra_options
|
41
|
+
opts = ['']
|
42
|
+
username = self.username || "root" # overwrite locally
|
43
|
+
key_user = (username == "root") ? nil : "MYSQL_USER"
|
44
|
+
key_pw = (username == "root") ? "MYSQL_ROOT_PASSWORD" : "MYSQL_PASSWORD"
|
45
|
+
|
46
|
+
opts << (password.blank? ? "-e MYSQL_ALLOW_EMPTY_PASSWORD=yes" : "-e #{key_pw}=#{password}")
|
47
|
+
opts << (key_user ? "-e #{key_user}=#{username}" : nil)
|
48
|
+
opts << "-e MYSQL_DATABASE=#{database}" if database
|
49
|
+
opts << "-v #{File.expand_path(db_dir)}:/var/lib/mysql" if db_dir
|
50
|
+
opts.compact.join(' ')
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/lib/mcrain/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mcrain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- akm
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logger_pipe
|
@@ -122,6 +122,7 @@ files:
|
|
122
122
|
- lib/mcrain.rb
|
123
123
|
- lib/mcrain/base.rb
|
124
124
|
- lib/mcrain/boot2docker.rb
|
125
|
+
- lib/mcrain/mysql.rb
|
125
126
|
- lib/mcrain/rabbitmq.rb
|
126
127
|
- lib/mcrain/redis.rb
|
127
128
|
- lib/mcrain/riak.rb
|