File tree Expand file tree Collapse file tree 3 files changed +16
-6
lines changed Expand file tree Collapse file tree 3 files changed +16
-6
lines changed Original file line number Diff line number Diff line change 3
3
module Rails
4
4
module Generators
5
5
module Devcontainer
6
+ DB_FEATURES = {
7
+ "mysql" => "ghcr.io/rails/devcontainer/features/mysql-client" ,
8
+ "postgresql" => "ghcr.io/rails/devcontainer/features/postgres-client" ,
9
+ "sqlite3" => "ghcr.io/rails/devcontainer/features/sqlite3"
10
+ }
11
+
6
12
private
7
13
def devcontainer_dependencies
8
14
return @devcontainer_dependencies if @devcontainer_dependencies
@@ -124,6 +130,7 @@ def db_service_for_devcontainer(database = options[:database])
124
130
125
131
def db_feature_for_devcontainer ( database = options [ :database ] )
126
132
case database
133
+ when "sqlite3" then sqlite3_feature
127
134
when "mysql" then mysql_feature
128
135
when "postgresql" then postgres_feature
129
136
end
@@ -178,18 +185,19 @@ def db_service_names
178
185
end
179
186
180
187
def mysql_feature
181
- { "ghcr.io/rails/devcontainer/features/ mysql-client" => { } }
188
+ { DB_FEATURES [ " mysql" ] => { } }
182
189
end
183
190
184
191
def postgres_feature
185
- { "ghcr.io/rails/devcontainer/features/postgres-client" => { } }
192
+ { DB_FEATURES [ "postgresql" ] => { } }
193
+ end
194
+
195
+ def sqlite3_feature
196
+ { DB_FEATURES [ "sqlite3" ] => { } }
186
197
end
187
198
188
199
def db_features
189
- [
190
- "ghcr.io/rails/devcontainer/features/mysql-client" ,
191
- "ghcr.io/rails/devcontainer/features/postgres-client"
192
- ]
200
+ @db_features ||= DB_FEATURES . values
193
201
end
194
202
195
203
def local_rails_mount
Original file line number Diff line number Diff line change @@ -1287,6 +1287,7 @@ def test_devcontainer
1287
1287
assert_equal "selenium" , content [ "containerEnv" ] [ "SELENIUM_HOST" ]
1288
1288
assert_equal ( { } , content [ "features" ] [ "ghcr.io/rails/devcontainer/features/activestorage" ] )
1289
1289
assert_equal ( { } , content [ "features" ] [ "ghcr.io/devcontainers/features/github-cli:1" ] )
1290
+ assert_equal ( { } , content [ "features" ] [ "ghcr.io/rails/devcontainer/features/sqlite3" ] )
1290
1291
assert_includes ( content [ "forwardPorts" ] , 3000 )
1291
1292
assert_includes ( content [ "forwardPorts" ] , 6379 )
1292
1293
end
Original file line number Diff line number Diff line change @@ -55,6 +55,7 @@ class ChangeGeneratorTest < Rails::Generators::TestCase
55
55
assert_file ( ".devcontainer/devcontainer.json" ) do |content |
56
56
assert_match ( /"DB_HOST": "postgres"/ , content )
57
57
assert_match ( /"ghcr.io\/ rails\/ devcontainer\/ features\/ postgres-client":/ , content )
58
+ assert_no_match ( /"ghcr.io\/ rails\/ devcontainer\/ features\/ sqlite3":/ , content )
58
59
end
59
60
60
61
assert_compose_file do |compose_config |
You can’t perform that action at this time.
0 commit comments