Class: Wasify::CMDRunner
- Inherits:
-
Object
- Object
- Wasify::CMDRunner
- Defined in:
- lib/wasify/cmd_runner.rb
Overview
methods interacting with the command line
Class Method Summary collapse
- .cleanup ⇒ Object
- .copy_gemfile ⇒ Object
- .download_binary ⇒ Object
- .fix_lockfile ⇒ Object
- .move_binary ⇒ Object
- .run_vfs ⇒ Object
- .unzip_binary ⇒ Object
Class Method Details
.cleanup ⇒ Object
31 32 33 34 35 36 |
# File 'lib/wasify/cmd_runner.rb', line 31 def self.cleanup system('rm -rf 3_2-wasm32-unknown-wasi-full-js') system('rm ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz') system('rm ruby.wasm') system('rm -rf deps') end |
.copy_gemfile ⇒ Object
19 20 21 |
# File 'lib/wasify/cmd_runner.rb', line 19 def self.copy_gemfile system('mkdir -p deps && cp -r Gemfile deps/Gemfile && cp -r Gemfile.lock deps/Gemfile.lock') end |
.download_binary ⇒ Object
6 7 8 |
# File 'lib/wasify/cmd_runner.rb', line 6 def self.download_binary system('curl -LO https://github.com/ruby/ruby.wasm/releases/latest/download/ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz') end |
.fix_lockfile ⇒ Object
23 24 25 |
# File 'lib/wasify/cmd_runner.rb', line 23 def self.fix_lockfile system('bundle lock --add-platform wasm32-unknown') end |
.move_binary ⇒ Object
15 16 17 |
# File 'lib/wasify/cmd_runner.rb', line 15 def self.move_binary system('mv 3_2-wasm32-unknown-wasi-full-js/usr/local/bin/ruby ruby.wasm') end |
.run_vfs ⇒ Object
27 28 29 |
# File 'lib/wasify/cmd_runner.rb', line 27 def self.run_vfs system('wasi-vfs pack ruby.wasm --mapdir /src::./src --mapdir /usr::./3_2-wasm32-unknown-wasi-full-js/usr --mapdir /deps::./deps -o packed_ruby.wasm') end |
.unzip_binary ⇒ Object
10 11 12 13 |
# File 'lib/wasify/cmd_runner.rb', line 10 def self.unzip_binary system('tar xfz ruby-3_2-wasm32-unknown-wasi-full-js.tar.gz') system('chmod -R u+rw 3_2-wasm32-unknown-wasi-full-js') end |