railsdock 0.1.3 → 0.1.4

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
  SHA256:
3
- metadata.gz: f4d95c3a6ff130d75b8398776086adc4de79151972cce4083c24377c6d806624
4
- data.tar.gz: f568107b19593fa360d42b96a89f191ca1e688db35425c43c17cb4ccd74cf114
3
+ metadata.gz: 1927b87f309de68f89107bf239d8ce5a44f50674f8596e7d806545ae557579bd
4
+ data.tar.gz: cffa8d9e1a54ea1f53bc8d5f9f599f3b208bdd6de7f4c9c4dccc436f10692376
5
5
  SHA512:
6
- metadata.gz: 20c4692e9455c24b7d5b6db41acb7e4f3d1478a0a6b9131b6e7faa67f141ce60b6dc5af62288e050691fec41983a9422bd9c296407e1d3dc0b173d64edba0c9e
7
- data.tar.gz: ee91002e6525c635de98411bd3d5f7f63f6ca42e79ee10b7897f8fe6c3dadb706a861bf91b43d5ca0494b324bd6d1b6e5ed30094548c19b687388f99a9266149
6
+ metadata.gz: 7287a0e7bded459fd739b499fd7d04da601606833abff3a87fae46db5b978091448814fbdfd5f57752bc118db36126c0e96c8a0efa1587f409a12d93e9346946
7
+ data.tar.gz: ab53a1a71395a2c86eb167e349655a6d3e63bbacdfa070b77acd6a985555bd00493d1e9cb0ff9ac1fa712f7615ea2604ea023af09703fd20756e7473dad7fe33
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- railsdock (0.1.3)
4
+ railsdock (0.1.4)
5
5
  bundler (~> 2.0)
6
6
  pastel (~> 0.7.2)
7
7
  railties (>= 4.2, < 6.1)
@@ -14,20 +14,20 @@ PATH
14
14
  GEM
15
15
  remote: https://rubygems.org/
16
16
  specs:
17
- actionpack (6.0.2)
18
- actionview (= 6.0.2)
19
- activesupport (= 6.0.2)
20
- rack (~> 2.0)
17
+ actionpack (6.0.2.1)
18
+ actionview (= 6.0.2.1)
19
+ activesupport (= 6.0.2.1)
20
+ rack (~> 2.0, >= 2.0.8)
21
21
  rack-test (>= 0.6.3)
22
22
  rails-dom-testing (~> 2.0)
23
23
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
24
- actionview (6.0.2)
25
- activesupport (= 6.0.2)
24
+ actionview (6.0.2.1)
25
+ activesupport (= 6.0.2.1)
26
26
  builder (~> 3.1)
27
27
  erubi (~> 1.4)
28
28
  rails-dom-testing (~> 2.0)
29
29
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
30
- activesupport (6.0.2)
30
+ activesupport (6.0.2.1)
31
31
  concurrent-ruby (~> 1.0, >= 1.0.2)
32
32
  i18n (>= 0.7, < 2)
33
33
  minitest (~> 5.1)
@@ -39,23 +39,23 @@ GEM
39
39
  thor (>= 0.14.0)
40
40
  builder (3.2.4)
41
41
  coderay (1.1.2)
42
- concurrent-ruby (1.1.5)
43
- crass (1.0.5)
42
+ concurrent-ruby (1.1.6)
43
+ crass (1.0.6)
44
44
  diff-lcs (1.3)
45
45
  equatable (0.6.1)
46
46
  erubi (1.9.0)
47
- i18n (1.7.0)
47
+ i18n (1.8.2)
48
48
  concurrent-ruby (~> 1.0)
49
49
  loofah (2.4.0)
50
50
  crass (~> 1.0.2)
51
51
  nokogiri (>= 1.5.9)
52
52
  method_source (0.9.2)
53
53
  mini_portile2 (2.4.0)
54
- minitest (5.13.0)
54
+ minitest (5.14.0)
55
55
  necromancer (0.5.1)
56
- nokogiri (1.10.7)
56
+ nokogiri (1.10.9)
57
57
  mini_portile2 (~> 2.4.0)
58
- pastel (0.7.3)
58
+ pastel (0.7.4)
59
59
  equatable (~> 0.6)
60
60
  tty-color (~> 0.5)
61
61
  pry (0.12.2)
@@ -63,7 +63,7 @@ GEM
63
63
  method_source (~> 0.9.0)
64
64
  pry-rails (0.3.9)
65
65
  pry (>= 0.10.4)
66
- rack (2.0.7)
66
+ rack (2.2.2)
67
67
  rack-test (1.1.0)
68
68
  rack (>= 1.0, < 3)
69
69
  rails-dom-testing (2.0.3)
@@ -71,9 +71,9 @@ GEM
71
71
  nokogiri (>= 1.6)
72
72
  rails-html-sanitizer (1.3.0)
73
73
  loofah (~> 2.3)
74
- railties (6.0.2)
75
- actionpack (= 6.0.2)
76
- activesupport (= 6.0.2)
74
+ railties (6.0.2.1)
75
+ actionpack (= 6.0.2.1)
76
+ activesupport (= 6.0.2.1)
77
77
  method_source
78
78
  rake (>= 0.8.7)
79
79
  thor (>= 0.20.3, < 2.0)
@@ -95,10 +95,10 @@ GEM
95
95
  rspec-support (3.9.0)
96
96
  thor (1.0.0)
97
97
  thread_safe (0.3.6)
98
- tty-color (0.5.0)
98
+ tty-color (0.5.1)
99
99
  tty-command (0.8.2)
100
100
  pastel (~> 0.7.0)
101
- tty-cursor (0.7.0)
101
+ tty-cursor (0.7.1)
102
102
  tty-file (0.7.1)
103
103
  diff-lcs (~> 1.3)
104
104
  pastel (~> 0.7.2)
@@ -112,8 +112,8 @@ GEM
112
112
  tty-cursor (~> 0.7)
113
113
  tty-screen (~> 0.7)
114
114
  wisper (~> 2.0.0)
115
- tty-screen (0.7.0)
116
- tzinfo (1.2.5)
115
+ tty-screen (0.7.1)
116
+ tzinfo (1.2.6)
117
117
  thread_safe (~> 0.1)
118
118
  wisper (2.0.1)
119
119
  zeitwerk (2.2.2)
@@ -130,4 +130,4 @@ DEPENDENCIES
130
130
  rspec (~> 3.0)
131
131
 
132
132
  BUNDLED WITH
133
- 2.0.1
133
+ 2.1.4
@@ -11,7 +11,11 @@ module Railsdock
11
11
  OPTIONS_HASH = {
12
12
  database: {
13
13
  name: 'Database',
14
- options: %i[postgres mysql]
14
+ options: %i[postgres mysql],
15
+ default_port: {
16
+ postgres: 5432,
17
+ mysql: 3306
18
+ }
15
19
  },
16
20
  mem_store: {
17
21
  name: 'In-Memory Store',
@@ -49,8 +53,12 @@ module Railsdock
49
53
  append_erb_to_compose_file(service)
50
54
  file.inject_into_file('./docker-compose.yml', "\n #{service}:", after: "\nvolumes:")
51
55
  append_service_config_to_env(service)
52
- copy_db_yml("#{BASE_TEMPLATE_DIR}/#{service}/database.yml.erb") if type == :database
56
+ if type == :database
57
+ copy_db_yml("#{BASE_TEMPLATE_DIR}/#{service}/database.yml.erb")
58
+ inject_db_script_into_entrypoint(service)
59
+ end
53
60
  end
61
+ cmd.run('chmod +x ./dev-entrypoint')
54
62
  output.puts POST_INSTALL_MESSAGE
55
63
  end
56
64
 
@@ -64,6 +72,16 @@ module Railsdock
64
72
  file.copy_file(erb_file, './config/database.yml', context: @variables)
65
73
  end
66
74
 
75
+ def inject_db_script_into_entrypoint(service)
76
+ file.inject_into_file('./dev-entrypoint', after: "echo \"DB is not ready, sleeping...\"\n") do
77
+ <<~BASH
78
+ until nc -vz #{service} #{OPTIONS_HASH[:database][:default_port][service]}; do
79
+ sleep 1
80
+ done
81
+ BASH
82
+ end
83
+ end
84
+
67
85
  def collect_service_selections
68
86
  prompt.collect do
69
87
  OPTIONS_HASH.each do |key, value|
@@ -74,9 +92,9 @@ module Railsdock
74
92
 
75
93
  def inject_driver_config(service)
76
94
  file.inject_into_file('./docker-compose.yml', after: " node_modules:\n driver: ${VOLUMES_DRIVER}\n") do
77
- <<-YAML
78
- #{service}:
79
- driver: ${VOLUMES_DRIVER}
95
+ <<~YAML
96
+ #{service}:
97
+ driver: ${VOLUMES_DRIVER}
80
98
  YAML
81
99
  end
82
100
  end
@@ -102,6 +120,7 @@ module Railsdock
102
120
  file.safe_append_to_file('./docker-compose.yml') do
103
121
  generate_erb("#{BASE_TEMPLATE_DIR}/#{service}/docker-compose.yml.erb")
104
122
  end
123
+ file.inject_into_file('./docker-compose.yml', " - #{service}\n", after: "depends_on:\n")
105
124
  end
106
125
 
107
126
  def append_service_config_to_env(service)
@@ -41,4 +41,4 @@ RAILS_SERVER_HOST_PORT=3000
41
41
  RUBY_UID=<%= uid %>
42
42
  RUBY_GID=<%= uid %>
43
43
  # Select a Node Version for the Ruby container. Accepted values: 8-11
44
- NODE_VERSION=11
44
+ RAILSDOCK_NODE_VERSION=11
@@ -19,9 +19,6 @@ trap unlock_setup HUP INT QUIT KILL TERM EXIT
19
19
 
20
20
  # 3: Wait for postgres to come up
21
21
  echo "DB is not ready, sleeping..."
22
- until nc -vz postgres 5432; do
23
- sleep 1
24
- done
25
22
  echo "DB is ready, starting Rails."
26
23
 
27
24
  # 4: Specify a default command, in case it wasn't issued:
@@ -20,8 +20,6 @@ x-ruby: &ruby-base
20
20
  tty: true
21
21
  stdin_open: true
22
22
  depends_on:
23
- - postgres
24
- - redis
25
23
 
26
24
  volumes:
27
25
  gems:
@@ -1,3 +1,3 @@
1
1
  module Railsdock
2
- VERSION = '0.1.3'.freeze
2
+ VERSION = '0.1.4'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: railsdock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kyle Boe
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2019-12-17 00:00:00.000000000 Z
12
+ date: 2020-05-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties