dockerize_rails 1.1.0.beta.1 → 1.1.0.beta.2

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: ea87914734606304a4d7e5e2c3bc82e39f4b9042
4
- data.tar.gz: e01d48138e3b396a7a59b28269bbc05d7182adcf
3
+ metadata.gz: ca024b782016296d6dd369e5f7842a525d598544
4
+ data.tar.gz: 5ed08757b71becb915159024a092a979b55f3e31
5
5
  SHA512:
6
- metadata.gz: 11bbc0991e17ba4fc93a828e30127a526dea76629e5ecec02e9bc24efcd7eec2e62d2db56d4b0ff1703845261863cb4758f94e082fb08b9ca4247ae0f8d324a9
7
- data.tar.gz: eac738f7c2eded4ee097493a06829d5e5fea3135698323db8d9d8bf8203ae0cfa2fbe1a6d948e9a0a184223443991fd638cbdf6a6917b000ebfae7868a260e7b
6
+ metadata.gz: bfe6c01187bfbf50798b1df846618b55bd2ebd315d80de032c6de84f58573cc3df64ad7f8631f61f0448cb173d67ce6e9ced0e97faabd7411943357be10fabae
7
+ data.tar.gz: 58adaf8d3988d96a03c6991a582691b77a849f7088598b186ff5f4f2541e09a21749a3fc92af8961beba4796cd2aa8b0ff4f56e9b27ce915b7de4d1d4e5e7b4d
data/.rubocop.yml CHANGED
@@ -22,6 +22,9 @@ Metrics/MethodLength:
22
22
  Metrics/AbcSize:
23
23
  Max: 20
24
24
 
25
+ Style/CyclomaticComplexity:
26
+ Max: 10
27
+
25
28
  Style/BlockComments:
26
29
  Enabled: false
27
30
 
@@ -3,6 +3,7 @@ module DockerizeRails
3
3
  require 'colorize'
4
4
 
5
5
  # rubocop:disable Metrics/MethodLength
6
+ # rubocop:disable Metrics/AbcSize
6
7
  def self.invoke(options)
7
8
  DRNameSpace.add_hash options[1][:args]
8
9
  commands = Helpers.processed_commands
@@ -26,6 +27,7 @@ module DockerizeRails
26
27
  end
27
28
  end
28
29
  # rubocop:enable Metrics/MethodLength
30
+ # rubocop:enable Metrics/AbcSize
29
31
 
30
32
  def self.dockerize
31
33
  Helpers.ensure_rails_root
@@ -50,7 +52,7 @@ module DockerizeRails
50
52
  end
51
53
 
52
54
  def self.docker_info
53
- docker_version = DockerHelper.version
55
+ docker_version = DockerCommands.version
54
56
 
55
57
  puts
56
58
  Helpers.print_formatted_info 'Docker Version', "#{docker_version['Version']}\n"
@@ -67,14 +69,14 @@ module DockerizeRails
67
69
 
68
70
  def self.docker_pull
69
71
  DRNameSpace.load
70
- DockerizeRails::DockerHelper.pull
72
+ DockerizeRails::DockerCommands.pull
71
73
  0
72
74
  end
73
75
 
74
76
  def self.docker_build
75
77
  DRNameSpace.load
76
- DockerizeRails::DockerHelper.build
77
- return 0
78
+ DockerizeRails::DockerCommands.build
79
+ 0
78
80
  end
79
81
  end
80
82
  end
@@ -39,16 +39,16 @@ module DockerizeRails
39
39
  }
40
40
  },
41
41
  docker_info: {
42
- aliases: %I[docker_info di],
43
- help: 'Shows Docker information'.freeze
42
+ aliases: %I[docker_info di],
43
+ help: 'Shows Docker information'.freeze
44
44
  },
45
45
  docker_pull: {
46
- aliases: %I[docker_pull pull dp],
47
- help: 'Pulls Docker images'.freeze
46
+ aliases: %I[docker_pull pull dp],
47
+ help: 'Pulls Docker images'.freeze
48
48
  },
49
49
  docker_build: {
50
- aliases: %I[docker_build build db],
51
- help: 'Builds Docker images'.freeze
50
+ aliases: %I[docker_build build db],
51
+ help: 'Builds Docker images'.freeze
52
52
  },
53
53
  help: {
54
54
  aliases: %I[help h],
@@ -0,0 +1,67 @@
1
+ module DockerizeRails
2
+ module DockerCommands
3
+ module DockerBuild
4
+ def self.build_rails
5
+ build_docker_image(
6
+ "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::RAILS_DIRECTORY_NAME}/Dockerfile",
7
+ "#{DRConfig.application_name}_mysql"
8
+ )
9
+ 0
10
+ rescue Docker::Error::NotFoundError => exception
11
+ puts
12
+ puts exception.to_s.red
13
+ puts
14
+ 1
15
+ end
16
+
17
+ def self.build_mysql
18
+ if DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'mysql'
19
+ build_docker_image(
20
+ "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::MYSQL_DIRECTORY_NAME}/Dockerfile",
21
+ "#{DRConfig.application_name}_mysql"
22
+ )
23
+ end
24
+ 0
25
+ rescue Docker::Error::NotFoundError => exception
26
+ puts
27
+ puts exception.to_s.red
28
+ puts
29
+ 1
30
+ end
31
+
32
+ def self.build_postgres
33
+ if DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'postgresql'
34
+ build_docker_image(
35
+ "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::PG_DIRECTORY_NAME}/Dockerfile",
36
+ "#{DRConfig.application_name}_postgres"
37
+ )
38
+ end
39
+ 0
40
+ rescue Docker::Error::NotFoundError => exception
41
+ puts
42
+ puts exception.to_s.red
43
+ puts
44
+ 1
45
+ end
46
+
47
+ def self.build_docker_image(dockerfile, repo)
48
+ image = Docker::Image.build_from_dir(
49
+ '.',
50
+ dockerfile: dockerfile
51
+ )
52
+ image.tag(repo: repo, tag: DRConfig.application_env)
53
+ puts "Image '#{repo}:#{DRConfig.application_env}' build success".green
54
+ 0
55
+ rescue Docker::Error::NotFoundError => exception
56
+ puts
57
+ puts exception.to_s.red
58
+ puts
59
+ 1
60
+ end
61
+
62
+ class << self
63
+ private :build_docker_image
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,54 @@
1
+ module DockerizeRails
2
+ module DockerCommands
3
+ module DockerPull
4
+ def self.pull_ruby
5
+ pull_docker_image('ruby', DRConfig.ruby_version)
6
+ 0
7
+ rescue Docker::Error::NotFoundError => exception
8
+ puts
9
+ puts exception.to_s.red
10
+ puts
11
+ 1
12
+ end
13
+
14
+ def self.pull_mysql
15
+ if DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'mysql'
16
+ pull_docker_image('mysql', DRConfig.mysql_version)
17
+ end
18
+ 0
19
+ rescue Docker::Error::NotFoundError => exception
20
+ puts
21
+ puts exception.to_s.red
22
+ puts
23
+ 1
24
+ end
25
+
26
+ def self.pull_postgres
27
+ if DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'postgresql'
28
+ pull_docker_image('postgres', DRConfig.postgres_version)
29
+ end
30
+ 0
31
+ rescue Docker::Error::NotFoundError => exception
32
+ puts
33
+ puts exception.to_s.red
34
+ puts
35
+ 1
36
+ end
37
+
38
+ def self.pull_docker_image(image_name, tag)
39
+ Docker::Image.create('fromImage' => "#{image_name}:#{tag}")
40
+ puts "Base image '#{image_name}:#{tag}' ready".green
41
+ 0
42
+ rescue Docker::Error::NotFoundError => exception
43
+ puts
44
+ puts exception.to_s.red
45
+ puts
46
+ 1
47
+ end
48
+
49
+ class << self
50
+ private :pull_docker_image
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,35 @@
1
+ module DockerizeRails
2
+ module DockerCommands
3
+ require 'docker'
4
+
5
+ def self.version
6
+ Docker.version
7
+ end
8
+
9
+ def self.pull
10
+ status = 0
11
+ status += DockerPull.pull_ruby
12
+ status += DockerPull.pull_mysql
13
+ status += DockerPull.pull_postgres
14
+ status
15
+ rescue Docker::Error::NotFoundError => exception
16
+ puts
17
+ puts exception.to_s.red
18
+ puts
19
+ 1
20
+ end
21
+
22
+ def self.build
23
+ status = 0
24
+ status += DockerBuild.build_rails
25
+ status += DockerBuild.build_postgres
26
+ status += DockerBuild.build_mysql
27
+ status
28
+ rescue Docker::Error::NotFoundError => exception
29
+ puts
30
+ puts exception.to_s.red
31
+ puts
32
+ 1
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module DockerizeRails
2
- VERSION = '1.1.0.beta.1'.freeze
2
+ VERSION = '1.1.0.beta.2'.freeze
3
3
  end
@@ -7,7 +7,9 @@ require 'dockerize_rails/dr_config'
7
7
  require 'dockerize_rails/config_loader'
8
8
  require 'dockerize_rails/dr_name_space'
9
9
  require 'dockerize_rails/config_generator'
10
- require 'dockerize_rails/docker_helper'
10
+ require 'dockerize_rails/docker_commands/docker_pull'
11
+ require 'dockerize_rails/docker_commands/docker_build'
12
+ require 'dockerize_rails/docker_commands'
11
13
  require 'dockerize_rails/command_line_methods'
12
14
  require 'dockerize_rails/command_line'
13
15
 
@@ -18,10 +20,14 @@ module DockerizeRails
18
20
  private_constant :ConfigLoader
19
21
  private_constant :DRConfig
20
22
  private_constant :ConfigGenerator
21
- private_constant :DockerHelper
22
23
  private_constant :Constants
23
24
  private_constant :Templates
24
25
  private_constant :CommandLineMethods
26
+
27
+ module DockerCommands
28
+ private_constant :DockerPull
29
+ private_constant :DockerBuild
30
+ end
25
31
  end
26
32
 
27
33
  class DockerizeRailsCLI
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockerize_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0.beta.1
4
+ version: 1.1.0.beta.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - indrajit
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-05 00:00:00.000000000 Z
11
+ date: 2017-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: docker-api
@@ -137,7 +137,9 @@ files:
137
137
  - lib/dockerize_rails/config_generator.rb
138
138
  - lib/dockerize_rails/config_loader.rb
139
139
  - lib/dockerize_rails/constants.rb
140
- - lib/dockerize_rails/docker_helper.rb
140
+ - lib/dockerize_rails/docker_commands.rb
141
+ - lib/dockerize_rails/docker_commands/docker_build.rb
142
+ - lib/dockerize_rails/docker_commands/docker_pull.rb
141
143
  - lib/dockerize_rails/dr_config.rb
142
144
  - lib/dockerize_rails/dr_name_space.rb
143
145
  - lib/dockerize_rails/helpers.rb
@@ -1,108 +0,0 @@
1
- module DockerizeRails
2
- module DockerHelper
3
- require 'docker'
4
-
5
- def self.version
6
- Docker.version
7
- end
8
-
9
- def self.pull
10
- status = 0
11
- Docker::Image.create('fromImage' => "ruby:#{DRConfig.ruby_version}")
12
- puts "Base image 'ruby:#{DRConfig.ruby_version}' ready".green
13
- status += pull_mysql
14
- status += pull_postgres
15
- status
16
- rescue Docker::Error::NotFoundError => e
17
- puts
18
- puts e.to_s.red
19
- puts
20
- 1
21
- end
22
-
23
- def self.build
24
- status = 0
25
- image = Docker::Image.build_from_dir(
26
- '.',
27
- dockerfile: "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::RAILS_DIRECTORY_NAME}/Dockerfile"
28
- )
29
- image.tag(repo: "#{DRConfig.application_name}_rails", tag: "#{DRConfig.application_env}")
30
- puts "Image '#{DRConfig.application_name}_rails:#{DRConfig.application_env}' build success".green
31
- status += build_postgres
32
- status += build_mysql
33
- status
34
- rescue Docker::Error::NotFoundError => e
35
- puts
36
- puts e.to_s.red
37
- puts
38
- 1
39
- end
40
-
41
- def self.pull_mysql
42
- if DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'mysql'
43
- Docker::Image.create('fromImage' => "mysql:#{DRConfig.mysql_version}")
44
- puts "Base image 'mysql:#{DRConfig.mysql_version}' ready".green
45
- end
46
- 0
47
- rescue Docker::Error::NotFoundError => e
48
- puts
49
- puts e.to_s.red
50
- puts
51
- 1
52
- end
53
-
54
- def self.pull_postgres
55
- if DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'postgresql'
56
- Docker::Image.create('fromImage' => "postgres:#{DRConfig.postgres_version}")
57
- puts "Base image 'postgres:#{DRConfig.postgres_version}' ready".green
58
- end
59
- 0
60
- rescue Docker::Error::NotFoundError => e
61
- puts
62
- puts e.to_s.red
63
- puts
64
- 1
65
- end
66
-
67
- def self.build_mysql
68
- if DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'mysql'
69
- image = Docker::Image.build_from_dir(
70
- '.',
71
- dockerfile: "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::MYSQL_DIRECTORY_NAME}/Dockerfile"
72
- )
73
- image.tag(repo: "#{DRConfig.application_name}_mysql", tag: "#{DRConfig.application_env}")
74
- puts "Image '#{DRConfig.application_name}_mysql:#{DRConfig.application_env}' build success".green
75
- end
76
- 0
77
- rescue Docker::Error::NotFoundError => e
78
- puts
79
- puts e.to_s.red
80
- puts
81
- 1
82
- end
83
-
84
- def self.build_postgres
85
- if DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'postgresql'
86
- image = Docker::Image.build_from_dir(
87
- '.',
88
- dockerfile: "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::PG_DIRECTORY_NAME}/Dockerfile"
89
- )
90
- image.tag(repo: "#{DRConfig.application_name}_postgres", tag: "#{DRConfig.application_env}")
91
- puts "Image '#{DRConfig.application_name}_postgres:#{DRConfig.application_env}' build success".green
92
- end
93
- 0
94
- rescue Docker::Error::NotFoundError => e
95
- puts
96
- puts e.to_s.red
97
- puts
98
- 1
99
- end
100
-
101
- class << self
102
- private :build_mysql
103
- private :build_postgres
104
- private :pull_mysql
105
- private :pull_postgres
106
- end
107
- end
108
- end