dockerize_rails 1.2.0.beta.1 → 1.2.1.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: 965ed06f109fef968ecad7c724cca043c2eba55e
4
- data.tar.gz: d7157bd2dd441abca027d1b7fbdf5a41261a1276
3
+ metadata.gz: a0f5c116e835900009100990f620400c7d6fd838
4
+ data.tar.gz: fbcd44f672657f107db9e479285f554e2986b3bc
5
5
  SHA512:
6
- metadata.gz: 00c51a263a90af7a5e15f9781da496494afcd42fc6be10b93ca6a581a2d78fd0942098d70c211581f359b3b71c451291340f8aee67cf9f090bb2b1ed8516b1cc
7
- data.tar.gz: 5e725a977738d117e22ce175bab679adbd2b0a75f5f51489a8a6d2277893ea7deb32e42c610029f014cd3e218a5a1e5636d450d2bb07502fd2693e22688e23fc
6
+ metadata.gz: d278eec9201dc7778fda1c7c9d9db8269b7d5c576c1b0ba58453b6822d97b08bdee226743c29690c8a01bf38acd97eaa20a211c73d3c75cfdb3e6018994bc4e0
7
+ data.tar.gz: 2ce9feb8a6ecea0e1e27e8b3d92eaba7ad28265166003f3ddbb8229bcf6b080dfc7e0c410e02ef030ec147cc6dd396896b0f7fbf42c6d03f71ab8fe494599021
data/.reek CHANGED
@@ -9,7 +9,7 @@ TooManyConstants:
9
9
  enabled: false
10
10
 
11
11
  TooManyStatements:
12
- max_statements: 15
12
+ max_statements: 30
13
13
 
14
14
  IrresponsibleModule:
15
15
  enabled: false
data/.rubocop.yml CHANGED
@@ -5,7 +5,7 @@ AllCops:
5
5
  - 'vendor/**/*'
6
6
 
7
7
  Lint/SafeNavigationChain:
8
- Enabled: true
8
+ Enabled: true
9
9
 
10
10
  Metrics/LineLength:
11
11
  Max: 120
@@ -17,16 +17,17 @@ Metrics/ModuleLength:
17
17
  Max: 150
18
18
 
19
19
  Metrics/MethodLength:
20
- Max: 15
20
+ Max: 30
21
21
 
22
22
  Metrics/AbcSize:
23
+ Enabled: false
23
24
  Max: 20
24
25
 
25
26
  Metrics/PerceivedComplexity:
26
- Max: 10
27
+ Max: 15
27
28
 
28
29
  Style/CyclomaticComplexity:
29
- Max: 10
30
+ Max: 15
30
31
 
31
32
  Style/BlockComments:
32
33
  Enabled: false
data/README.md CHANGED
@@ -16,8 +16,9 @@ gem 'dockerize_rails'
16
16
  ```
17
17
 
18
18
  And then execute:
19
+
19
20
  ```bash
20
- $ bundle
21
+ $ bundle install
21
22
  ```
22
23
 
23
24
  ## Usage
@@ -45,18 +46,15 @@ To remove docker configurations: `bundle exec dock undockerize`. Use `--purge` o
45
46
  All available commands:
46
47
  ```bash
47
48
  $ bundle exec dock help
48
- $ bundle exec dock configure
49
- $ bundle exec dock configure --tiny
50
- $ bundle exec dock dockerize
51
- $ bundle exec dock dockerize --test-env
52
- $ bundle exec dock undockerize
53
- $ bundle exec dock undockerize --purge
49
+ $ bundle exec dock configure [ --tiny ]
50
+ $ bundle exec dock dockerize [ --test-env ]
51
+ $ bundle exec dock undockerize [ --purge ]
54
52
  $ bundle exec dock docker_info
55
53
  $ bundle exec dock docker_pull
56
- $ bundle exec dock docker_build
54
+ $ bundle exec dock docker_build [ --log | --rebuild | --rebuild --force ]
57
55
  $ bundle exec dock docker_start
58
- $ bundle exec dock docker_stop
59
- $ bundle exec dock docker_stop --delete
56
+ $ bundle exec dock docker_stop [ --delete ]
57
+ $ bundle exec dock docker_delete [ --force ]
60
58
  ```
61
59
 
62
60
  Help message:
@@ -67,26 +65,32 @@ Usage: dock <command>
67
65
  commands:
68
66
 
69
67
  configure, c, rc, cr - Generates '.dockerize.yml'
70
- [--tiny] -- generates shorter config file, skipping all descriptions
68
+ [--tiny] -- Generates shorter config file, skipping all descriptions
71
69
 
72
70
  dockerize, dc, d - Generates docker config files
73
- [--test-env] -- generates configurations to run tests.
71
+ [--test-env] -- Generates configurations to run tests.
74
72
 
75
73
  undockerize, ud, du, u, dd - Removes docker configurations
76
- [--purge] -- also removes .dockerize.yml
74
+ [--purge] -- Also removes .dockerize.yml
77
75
 
78
76
  docker_info, info - Shows Docker information
79
77
  docker_pull, pull - Pulls base Docker images (ruby, mysql/postgres)
80
78
  docker_build, build - Builds Docker images
79
+ [--log] -- Displays/Streams build log
80
+ [--rebuild] -- Deletes images if exists and rebuilds
81
+ [--force] -- Force Image deletion. Works only with --rebuild option
82
+
81
83
  docker_start, start - Run/Starts Docker containers
82
84
  docker_stop, stop - Stops Docker containers
83
- [--delete] -- also deletes the containers
85
+ [--delete] -- Also deletes the containers
84
86
 
85
87
  docker_delete, delete - Deletes Docker containers
88
+ [--force] -- Force Container deletion.
89
+
86
90
  help, h - Prints this message
87
91
  ```
88
92
 
89
- ## Demo
93
+ ## Demonstration
90
94
 
91
95
  [![asciicast](https://asciinema.org/a/121552.png)](https://asciinema.org/a/121552)
92
96
 
@@ -102,7 +102,7 @@
102
102
  <dt id="VERSION-constant" class="">VERSION =
103
103
 
104
104
  </dt>
105
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>1.2.0.beta.1</span><span class='tstring_end'>&#39;</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
105
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>1.2.1.beta.1</span><span class='tstring_end'>&#39;</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
106
106
 
107
107
  </dl>
108
108
 
@@ -117,7 +117,7 @@
117
117
  </div>
118
118
 
119
119
  <div id="footer">
120
- Generated on Sat Aug 12 10:20:48 2017 by
120
+ Generated on Sat Aug 12 16:08:38 2017 by
121
121
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
122
122
  0.9.9 (ruby-2.1.0).
123
123
  </div>
@@ -169,7 +169,7 @@
169
169
  </div>
170
170
 
171
171
  <div id="footer">
172
- Generated on Sat Aug 12 10:20:48 2017 by
172
+ Generated on Sat Aug 12 16:08:38 2017 by
173
173
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
174
174
  0.9.9 (ruby-2.1.0).
175
175
  </div>
@@ -127,7 +127,7 @@
127
127
  </div>
128
128
 
129
129
  <div id="footer">
130
- Generated on Sat Aug 12 10:20:48 2017 by
130
+ Generated on Sat Aug 12 16:08:38 2017 by
131
131
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
132
132
  0.9.9 (ruby-2.1.0).
133
133
  </div>
data/docs/_index.html CHANGED
@@ -117,7 +117,7 @@
117
117
  </div>
118
118
 
119
119
  <div id="footer">
120
- Generated on Sat Aug 12 10:20:48 2017 by
120
+ Generated on Sat Aug 12 16:08:37 2017 by
121
121
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
122
122
  0.9.9 (ruby-2.1.0).
123
123
  </div>
@@ -114,8 +114,10 @@ dock configure $ bundle exec dock configure --tiny $ bundle exec dock
114
114
  dockerize $ bundle exec dock dockerize --test-env $ bundle exec dock
115
115
  undockerize $ bundle exec dock undockerize --purge $ bundle exec dock
116
116
  docker_info $ bundle exec dock docker_pull $ bundle exec dock docker_build
117
- $ bundle exec dock docker_start $ bundle exec dock docker_stop $ bundle
118
- exec dock docker_stop --delete </code></p>
117
+ $ bundle exec dock docker_build --log $ bundle exec dock docker_build
118
+ --rebuild $ bundle exec dock docker_build --rebuild --force $ bundle exec
119
+ dock docker_start $ bundle exec dock docker_stop $ bundle exec dock
120
+ docker_stop --delete $ bundle exec dock docker_delete </code></p>
119
121
 
120
122
  <p>Help message: “` Usage: dock &lt;command&gt; or: bundle exec dock
121
123
  &lt;command&gt;</p>
@@ -123,20 +125,24 @@ exec dock docker_stop --delete </code></p>
123
125
  <p>commands:</p>
124
126
 
125
127
  <pre class="code ruby"><code class="ruby"> configure, c, rc, cr - Generates &#39;.dockerize.yml&#39;
126
- [--tiny] -- generates shorter config file, skipping all descriptions
128
+ [--tiny] -- Generates shorter config file, skipping all descriptions
127
129
 
128
130
  dockerize, dc, d - Generates docker config files
129
- [--test-env] -- generates configurations to run tests.
131
+ [--test-env] -- Generates configurations to run tests.
130
132
 
131
133
  undockerize, ud, du, u, dd - Removes docker configurations
132
- [--purge] -- also removes .dockerize.yml
134
+ [--purge] -- Also removes .dockerize.yml
133
135
 
134
136
  docker_info, info - Shows Docker information
135
137
  docker_pull, pull - Pulls base Docker images (ruby, mysql/postgres)
136
138
  docker_build, build - Builds Docker images
139
+ [--log] -- Displays/Streams build log
140
+ [--rebuild] -- Deletes images if exists and rebuilds
141
+ [--force] -- Force Image deletion. Works only with --rebuild option
142
+
137
143
  docker_start, start - Run/Starts Docker containers
138
144
  docker_stop, stop - Stops Docker containers
139
- [--delete] -- also deletes the containers
145
+ [--delete] -- Also deletes the containers
140
146
 
141
147
  docker_delete, delete - Deletes Docker containers
142
148
  help, h - Prints this message</code></pre>
@@ -175,7 +181,7 @@ src="https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Feendroro
175
181
  </div></div>
176
182
 
177
183
  <div id="footer">
178
- Generated on Sat Aug 12 10:20:48 2017 by
184
+ Generated on Sat Aug 12 16:08:38 2017 by
179
185
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
180
186
  0.9.9 (ruby-2.1.0).
181
187
  </div>
data/docs/index.html CHANGED
@@ -114,8 +114,10 @@ dock configure $ bundle exec dock configure --tiny $ bundle exec dock
114
114
  dockerize $ bundle exec dock dockerize --test-env $ bundle exec dock
115
115
  undockerize $ bundle exec dock undockerize --purge $ bundle exec dock
116
116
  docker_info $ bundle exec dock docker_pull $ bundle exec dock docker_build
117
- $ bundle exec dock docker_start $ bundle exec dock docker_stop $ bundle
118
- exec dock docker_stop --delete </code></p>
117
+ $ bundle exec dock docker_build --log $ bundle exec dock docker_build
118
+ --rebuild $ bundle exec dock docker_build --rebuild --force $ bundle exec
119
+ dock docker_start $ bundle exec dock docker_stop $ bundle exec dock
120
+ docker_stop --delete $ bundle exec dock docker_delete </code></p>
119
121
 
120
122
  <p>Help message: “` Usage: dock &lt;command&gt; or: bundle exec dock
121
123
  &lt;command&gt;</p>
@@ -123,20 +125,24 @@ exec dock docker_stop --delete </code></p>
123
125
  <p>commands:</p>
124
126
 
125
127
  <pre class="code ruby"><code class="ruby"> configure, c, rc, cr - Generates &#39;.dockerize.yml&#39;
126
- [--tiny] -- generates shorter config file, skipping all descriptions
128
+ [--tiny] -- Generates shorter config file, skipping all descriptions
127
129
 
128
130
  dockerize, dc, d - Generates docker config files
129
- [--test-env] -- generates configurations to run tests.
131
+ [--test-env] -- Generates configurations to run tests.
130
132
 
131
133
  undockerize, ud, du, u, dd - Removes docker configurations
132
- [--purge] -- also removes .dockerize.yml
134
+ [--purge] -- Also removes .dockerize.yml
133
135
 
134
136
  docker_info, info - Shows Docker information
135
137
  docker_pull, pull - Pulls base Docker images (ruby, mysql/postgres)
136
138
  docker_build, build - Builds Docker images
139
+ [--log] -- Displays/Streams build log
140
+ [--rebuild] -- Deletes images if exists and rebuilds
141
+ [--force] -- Force Image deletion. Works only with --rebuild option
142
+
137
143
  docker_start, start - Run/Starts Docker containers
138
144
  docker_stop, stop - Stops Docker containers
139
- [--delete] -- also deletes the containers
145
+ [--delete] -- Also deletes the containers
140
146
 
141
147
  docker_delete, delete - Deletes Docker containers
142
148
  help, h - Prints this message</code></pre>
@@ -175,7 +181,7 @@ src="https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Feendroro
175
181
  </div></div>
176
182
 
177
183
  <div id="footer">
178
- Generated on Sat Aug 12 10:20:48 2017 by
184
+ Generated on Sat Aug 12 16:08:37 2017 by
179
185
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
180
186
  0.9.9 (ruby-2.1.0).
181
187
  </div>
@@ -102,7 +102,7 @@
102
102
  </div>
103
103
 
104
104
  <div id="footer">
105
- Generated on Sat Aug 12 10:20:48 2017 by
105
+ Generated on Sat Aug 12 16:08:38 2017 by
106
106
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
107
107
  0.9.9 (ruby-2.1.0).
108
108
  </div>
@@ -2,8 +2,6 @@ module DockerizeRails
2
2
  module CommandLineMethods
3
3
  require 'colorize'
4
4
 
5
- # rubocop:disable Metrics/MethodLength
6
- # rubocop:disable Metrics/AbcSize
7
5
  def self.invoke(options)
8
6
  DRNameSpace.add_hash options[1][:args]
9
7
  commands = Helpers.processed_commands
@@ -32,8 +30,6 @@ module DockerizeRails
32
30
  return help 1
33
31
  end
34
32
  end
35
- # rubocop:enable Metrics/MethodLength
36
- # rubocop:enable Metrics/AbcSize
37
33
 
38
34
  def self.dockerize
39
35
  Helpers.ensure_rails_root
@@ -21,21 +21,21 @@ module DockerizeRails
21
21
  aliases: %I[configure c rc cr],
22
22
  help: "Generates '#{CONFIG_FILE_NAME}'".freeze,
23
23
  params: {
24
- :'--tiny' => 'generates shorter config file, skipping all descriptions'.freeze
24
+ :'--tiny' => 'Generates shorter config file, skipping all descriptions'.freeze
25
25
  }
26
26
  },
27
27
  dockerize: {
28
28
  aliases: %I[dockerize dc d],
29
29
  help: 'Generates docker config files'.freeze,
30
30
  params: {
31
- :'--test-env' => 'generates configurations to run tests.'.freeze
31
+ :'--test-env' => 'Generates configurations to run tests.'.freeze
32
32
  }
33
33
  },
34
34
  undockerize: {
35
35
  aliases: %I[undockerize ud du u dd],
36
36
  help: 'Removes docker configurations'.freeze,
37
37
  params: {
38
- :'--purge' => "also removes #{CONFIG_FILE_NAME}".freeze
38
+ :'--purge' => "Also removes #{CONFIG_FILE_NAME}".freeze
39
39
  }
40
40
  },
41
41
  docker_info: {
@@ -48,7 +48,12 @@ module DockerizeRails
48
48
  },
49
49
  docker_build: {
50
50
  aliases: %I[docker_build build],
51
- help: 'Builds Docker images'.freeze
51
+ help: 'Builds Docker images'.freeze,
52
+ params: {
53
+ :'--log' => 'Displays/Streams build log'.freeze,
54
+ :'--rebuild' => 'Deletes images if exists and rebuilds'.freeze,
55
+ :'--force' => 'Force Image deletion. Works only with --rebuild option'.freeze
56
+ }
52
57
  },
53
58
  docker_start: {
54
59
  aliases: %I[docker_start start],
@@ -58,12 +63,15 @@ module DockerizeRails
58
63
  aliases: %I[docker_stop stop],
59
64
  help: 'Stops Docker containers'.freeze,
60
65
  params: {
61
- :'--delete' => 'also deletes the containers'.freeze
66
+ :'--delete' => 'Also deletes the containers'.freeze
62
67
  }
63
68
  },
64
69
  docker_delete: {
65
70
  aliases: %I[docker_delete delete],
66
- help: 'Deletes Docker containers'.freeze
71
+ help: 'Deletes Docker containers'.freeze,
72
+ params: {
73
+ :'--force' => 'Force Container deletion.'.freeze
74
+ }
67
75
  },
68
76
  help: {
69
77
  aliases: %I[help h],
@@ -3,12 +3,18 @@ module DockerizeRails
3
3
  module DockerBuild
4
4
  def self.build_rails
5
5
  if Docker::Image.exist? DockerHelpers.get_name(:rails, :image)
6
- puts " ==> Image >#{DockerHelpers.get_name(:rails, :image)}< already exists".green
7
- return 0
6
+ if DRNameSpace.namespace.rebuild
7
+ image = Docker::Image.get DockerHelpers.get_name(:rails, :image)
8
+ puts " ==> Removing Image: #{DockerHelpers.get_name(:rails, :image)}".blue
9
+ image.remove(force: DRNameSpace.namespace.force || false)
10
+ else
11
+ puts " ==> Image >#{DockerHelpers.get_name(:rails, :image)}< already exists".green
12
+ return 0
13
+ end
8
14
  end
9
15
  build_docker_image(
10
- "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::RAILS_DIRECTORY_NAME}/Dockerfile",
11
- DockerHelpers.get_name(:rails, :image)
16
+ "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::RAILS_DIRECTORY_NAME}/Dockerfile",
17
+ DockerHelpers.get_name(:rails, :image)
12
18
  )
13
19
  puts " ==> Image >#{DockerHelpers.get_name(:rails, :image)}< built successfully".green
14
20
  0
@@ -22,12 +28,18 @@ module DockerizeRails
22
28
  def self.build_mysql
23
29
  if DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'mysql'
24
30
  if Docker::Image.exist? DockerHelpers.get_name(:mysql, :image)
25
- puts " ==> Image >#{DockerHelpers.get_name(:mysql, :image)}< already exists".green
26
- return 0
31
+ if DRNameSpace.namespace.rebuild
32
+ image = Docker::Image.get DockerHelpers.get_name(:mysql, :image)
33
+ puts " ==> Removing Image: #{DockerHelpers.get_name(:mysql, :image)}".blue
34
+ image.remove(force: DRNameSpace.namespace.force || false)
35
+ else
36
+ puts " ==> Image >#{DockerHelpers.get_name(:mysql, :image)}< already exists".green
37
+ return 0
38
+ end
27
39
  end
28
40
  build_docker_image(
29
- "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::MYSQL_DIRECTORY_NAME}/Dockerfile",
30
- DockerHelpers.get_name(:mysql, :image)
41
+ "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::MYSQL_DIRECTORY_NAME}/Dockerfile",
42
+ DockerHelpers.get_name(:mysql, :image)
31
43
  )
32
44
  puts " ==> Image >#{DockerHelpers.get_name(:mysql, :image)}< built successfully".green
33
45
  end
@@ -42,12 +54,18 @@ module DockerizeRails
42
54
  def self.build_postgres
43
55
  if DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'postgresql'
44
56
  if Docker::Image.exist? DockerHelpers.get_name(:postgres, :image)
45
- puts " ==> Image >#{DockerHelpers.get_name(:postgres, :image)}< already exists".green
46
- return 0
57
+ if DRNameSpace.namespace.rebuild
58
+ image = Docker::Image.get DockerHelpers.get_name(:postgres, :image)
59
+ puts " ==> Removing Image: #{DockerHelpers.get_name(:postgres, :image)}".blue
60
+ image.remove(force: DRNameSpace.namespace.force || false)
61
+ else
62
+ puts " ==> Image >#{DockerHelpers.get_name(:postgres, :image)}< already exists".green
63
+ return 0
64
+ end
47
65
  end
48
66
  build_docker_image(
49
- "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::PG_DIRECTORY_NAME}/Dockerfile",
50
- DockerHelpers.get_name(:postgres, :image)
67
+ "#{Constants::CONFIG_DIRECTORY_NAME}/#{Constants::PG_DIRECTORY_NAME}/Dockerfile",
68
+ DockerHelpers.get_name(:postgres, :image)
51
69
  )
52
70
  puts " ==> Image >#{DockerHelpers.get_name(:postgres, :image)}< built successfully".green
53
71
  end
@@ -60,13 +78,26 @@ module DockerizeRails
60
78
  end
61
79
 
62
80
  def self.build_docker_image(dockerfile, repo)
63
- image = Docker::Image.build_from_dir(
64
- '.',
65
- dockerfile: dockerfile
66
- )
81
+ image = Docker::Image.build_from_dir('.', dockerfile: dockerfile) do |output|
82
+ if DRNameSpace.namespace.stream_log
83
+ if (log = JSON.parse(output)) && log.key?('stream')
84
+ $stdout.puts log['stream']
85
+ end
86
+ end
87
+ end
67
88
  image.tag(repo: repo, tag: DRConfig.application_env)
68
89
  puts "Image '#{repo}:#{DRConfig.application_env}' build success".green
69
90
  0
91
+ rescue Docker::Error::UnexpectedResponseError => _
92
+ puts
93
+ puts " ==> An error has occurred while building Image: #{repo}:#{DRConfig.application_env}".red
94
+ puts
95
+ 1
96
+ rescue Excon::Error::Socket => exception
97
+ puts
98
+ puts exception.to_s.red
99
+ puts
100
+ 1
70
101
  rescue Docker::Error::NotFoundError => exception
71
102
  puts
72
103
  puts exception.to_s.red
@@ -22,13 +22,14 @@ module DockerizeRails
22
22
  def self.docker_delete(container_name)
23
23
  container = Docker::Container.get(container_name)
24
24
  container.stop if container.info['State']['Running']
25
- container.delete(:force => true)
25
+ container.delete(force: DRNameSpace.namespace.force || false)
26
26
  puts "Container >#{container_name}< deleted successfully.".green
27
27
  0
28
28
  rescue Docker::Error::NotFoundError => exception
29
29
  puts exception.to_s.strip.red
30
30
  1
31
31
  end
32
+
32
33
  class << self
33
34
  private :docker_delete
34
35
  end
@@ -35,15 +35,13 @@ module DockerizeRails
35
35
  end
36
36
  end
37
37
 
38
- # rubocop:disable Metrics/AbcSize
39
- # rubocop:disable Metrics/MethodLength
40
38
  def self.build_options(definitions, service)
41
39
  options = DockerOptions.new
42
40
  options.image get_name(service, :image)
43
41
  options.name get_name(service, :container)
44
42
  options.hostname '0.0.0.0'
45
- definitions['expose'].each {|expose| options.expose expose} if definitions.key?('expose')
46
- definitions['environment'].each {|env| options.add_env env} if definitions.key?('environment')
43
+ definitions['expose'].each { |expose| options.expose expose } if definitions.key?('expose')
44
+ definitions['environment'].each { |env| options.add_env env } if definitions.key?('environment')
47
45
  if definitions.key?('ports')
48
46
  definitions['ports'].each do |ports|
49
47
  options.add_port_binds(ports.split(':')[1], ports.split(':')[0])
@@ -56,8 +54,6 @@ module DockerizeRails
56
54
  end
57
55
  options.options
58
56
  end
59
- # rubocop:enable Metrics/AbcSize
60
- # rubocop:enable Metrics/MethodLength
61
57
 
62
58
  def self.print_version
63
59
  docker_version = Docker.version
@@ -73,7 +69,7 @@ module DockerizeRails
73
69
  Helpers.print_formatted_info('Experimental', "#{docker_version['Experimental']}\n")
74
70
  Helpers.print_formatted_info(
75
71
  'Build Time',
76
- "#{DateTime.parse(docker_version['BuildTime']).strftime('%b %d, %Y %I:%M %p')}\n"
72
+ "#{DateTime.parse(docker_version['BuildTime']).strftime('%b %d, %Y %I:%M %p')}\n"
77
73
  )
78
74
  end
79
75
  end
@@ -29,11 +29,11 @@ module DockerizeRails
29
29
 
30
30
  def expose(port)
31
31
  @options['ExposedPorts']["#{port}/tcp"] = {}
32
- @options['HostConfig']['PortBindings']["#{port}/tcp"] = [{'HostPort' => port}]
32
+ @options['HostConfig']['PortBindings']["#{port}/tcp"] = [{ 'HostPort' => port }]
33
33
  end
34
34
 
35
35
  def add_port_binds(container, host)
36
- @options['HostConfig']['PortBindings']["#{container}/tcp"] = [{'HostPort' => host}]
36
+ @options['HostConfig']['PortBindings']["#{container}/tcp"] = [{ 'HostPort' => host }]
37
37
  end
38
38
 
39
39
  def add_env(env)
@@ -45,13 +45,7 @@ module DockerizeRails
45
45
  end
46
46
 
47
47
  def options
48
- deep_copy @options
49
- end
50
-
51
- private
52
-
53
- def deep_copy(o)
54
- Marshal.load(Marshal.dump(o))
48
+ Marshal.load(Marshal.dump(@options))
55
49
  end
56
50
  end
57
51
  end
@@ -77,7 +77,6 @@ module DockerizeRails
77
77
  container.start(options)
78
78
  end
79
79
 
80
- # rubocop:disable Metrics/AbcSize
81
80
  def self.docker_start(definitions, service)
82
81
  options = DockerHelpers.build_options(definitions, service)
83
82
  container = Docker::Container.create options
@@ -95,7 +94,6 @@ module DockerizeRails
95
94
  end
96
95
  container.start binds
97
96
  end
98
- # rubocop:enable Metrics/AbcSize
99
97
 
100
98
  class << self
101
99
  private :docker_start
@@ -23,7 +23,7 @@ module DockerizeRails
23
23
  container = Docker::Container.get(container_name)
24
24
  if container.info['State']['Running']
25
25
  container.stop
26
- container.delete(:force => true) if DRNameSpace.namespace.delete_containers
26
+ container.delete(force: true) if DRNameSpace.namespace.delete_containers
27
27
  puts "Container >#{container_name}< stopped successfully.".green
28
28
  puts "Container >#{container_name}< deleted successfully.".green if DRNameSpace.namespace.delete_containers
29
29
  else
@@ -46,7 +46,6 @@ module DockerizeRails
46
46
  database_host_type == Constants::DATABASE_HOST_LINKED
47
47
  end
48
48
 
49
- # rubocop:disable Metrics/AbcSize
50
49
  def self.to_yaml_str
51
50
  "---
52
51
  # Set application name
@@ -130,7 +129,6 @@ database_user_name: #{database_user_name}
130
129
  database_user_pass: #{database_user_pass}
131
130
  "
132
131
  end
133
- # rubocop:enable Metrics/AbcSize
134
132
 
135
133
  def self.to_hash
136
134
  Hash[ATTRIBUTES.map do |accessor|
@@ -16,6 +16,9 @@ module DockerizeRails
16
16
  opts.on('--purge') { options[:purge] = true }
17
17
  opts.on('--test-env') { options[:test_env] = true }
18
18
  opts.on('--delete') { options[:delete_containers] = true }
19
+ opts.on('--log') { options[:stream_log] = true }
20
+ opts.on('--rebuild') { options[:rebuild] = true }
21
+ opts.on('--force') { options[:force] = true }
19
22
  end
20
23
  parser.parse!
21
24
  [ARGV[0].to_s, args: options]
@@ -1,3 +1,3 @@
1
1
  module DockerizeRails
2
- VERSION = '1.2.0.beta.1'.freeze
2
+ VERSION = '1.2.1.beta.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockerize_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0.beta.1
4
+ version: 1.2.1.beta.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - indrajit