Skip to content

Commit 194e2ed

Browse files
Merge pull request #394 from rubygems/colby/devcontainer
DevContainer Setup
2 parents c4c1f2b + e14337f commit 194e2ed

File tree

6 files changed

+70
-8
lines changed

6 files changed

+70
-8
lines changed

.devcontainer/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
ARG RUBY_VERSION=3.4.4
2+
FROM ghcr.io/rails/devcontainer/images/ruby:$RUBY_VERSION
3+
4+
ENV BINDING="0.0.0.0"

.devcontainer/devcontainer.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"name: RubyGems Guides",
3+
"dockerFile": "Dockerfile",
4+
"forwardPorts": [
5+
4000
6+
],
7+
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
8+
"postCreateCommand": "bin/setup",
9+
"customizations": {
10+
"vscode": {
11+
"extensions": [
12+
"Shopify.ruby-lsp"
13+
]
14+
}
15+
}
16+
}

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@ gem "mdl", "~> 0.11.0"
77
gem "rake", "~> 13.0"
88
gem "rdoc", "~> 6.4"
99
gem "webrick", "~> 1.8"
10+
gem "csv", "~> 3.3"
11+
gem "base64", "~> 0.3"
12+
gem "logger", "~> 1.7"

Gemfile.lock

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@ GEM
33
specs:
44
addressable (2.8.6)
55
public_suffix (>= 2.0.2, < 6.0)
6+
base64 (0.3.0)
67
bigdecimal (3.1.8)
78
bigdecimal (3.1.8-java)
89
chef-utils (17.9.26)
910
concurrent-ruby
1011
colorator (1.1.0)
1112
concurrent-ruby (1.2.3)
13+
csv (3.3.5)
1214
em-websocket (0.5.3)
1315
eventmachine (>= 0.12.9)
1416
http_parser.rb (~> 0)
@@ -18,21 +20,13 @@ GEM
1820
ffi (1.17.0-arm64-darwin)
1921
ffi (1.17.0-java)
2022
ffi (1.17.0-x86_64-linux-gnu)
21-
ffi-compiler (1.3.2)
22-
ffi (>= 1.15.5)
23-
rake
2423
forwardable-extended (2.6.0)
2524
google-protobuf (4.27.5)
2625
bigdecimal
2726
rake (>= 13)
2827
google-protobuf (4.27.5-arm64-darwin)
2928
bigdecimal
3029
rake (>= 13)
31-
google-protobuf (4.27.5-java)
32-
bigdecimal
33-
ffi (~> 1)
34-
ffi-compiler (~> 1)
35-
rake (>= 13)
3630
google-protobuf (4.27.5-x86_64-linux)
3731
bigdecimal
3832
rake (>= 13)
@@ -68,6 +62,7 @@ GEM
6862
listen (3.9.0)
6963
rb-fsevent (~> 0.10, >= 0.10.3)
7064
rb-inotify (~> 0.9, >= 0.9.10)
65+
logger (1.7.0)
7166
mdl (0.11.0)
7267
kramdown (~> 2.3)
7368
kramdown-parser-gfm (~> 1.1)
@@ -118,7 +113,10 @@ PLATFORMS
118113
x86_64-linux
119114

120115
DEPENDENCIES
116+
base64 (~> 0.3)
117+
csv (~> 3.3)
121118
jekyll (~> 4.2)
119+
logger (~> 1.7)
122120
mdl (~> 0.11.0)
123121
rake (~> 13.0)
124122
rdoc (~> 6.4)

bin/jekyll

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/usr/bin/env ruby
2+
# frozen_string_literal: true
3+
4+
#
5+
# This file was generated by Bundler.
6+
#
7+
# The application 'jekyll' is installed as part of a gem, and
8+
# this file is here to facilitate running it.
9+
#
10+
11+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
12+
13+
bundle_binstub = File.expand_path("bundle", __dir__)
14+
15+
if File.file?(bundle_binstub)
16+
if File.read(bundle_binstub, 300).include?("This file was generated by Bundler")
17+
load(bundle_binstub)
18+
else
19+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
20+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
21+
end
22+
end
23+
24+
require "rubygems"
25+
require "bundler/setup"
26+
27+
load Gem.bin_path("jekyll", "jekyll")

bin/setup

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/usr/bin/env ruby
2+
3+
require "fileutils"
4+
5+
APP_ROOT = File.expand_path("..", __dir__)
6+
7+
def system!(*args)
8+
system(*args, exception: true)
9+
end
10+
11+
FileUtils.chdir APP_ROOT do
12+
puts "=== Installing dependencies ==="
13+
system("bundle check") || system!("bundle install")
14+
end

0 commit comments

Comments
 (0)