Class: LambdaLayerCake::Builder
- Inherits:
-
Object
- Object
- LambdaLayerCake::Builder
- Defined in:
- lib/lambda-layer-cake.rb
Instance Attribute Summary collapse
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Instance Method Summary collapse
- #build_layer! ⇒ Object
- #build_rails! ⇒ Object
- #clean! ⇒ Object
-
#initialize(version) ⇒ Builder
constructor
A new instance of Builder.
- #zip_layer! ⇒ Object
Constructor Details
#initialize(version) ⇒ Builder
Returns a new instance of Builder.
7 8 9 |
# File 'lib/lambda-layer-cake.rb', line 7 def initialize(version) @version = version end |
Instance Attribute Details
#version ⇒ Object (readonly)
Returns the value of attribute version.
5 6 7 |
# File 'lib/lambda-layer-cake.rb', line 5 def version @version end |
Instance Method Details
#build_layer! ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/lambda-layer-cake.rb', line 15 def build_layer! FileUtils.cp(%w{Gemfile Gemfile.lock system-packages.txt}.select {|f| File.exist?(f) }, inputs_dir!) cmd = %W{docker run --rm -v #{inputs_dir!}:/tmp/inputs -v #{outputs_dir!}:/tmp/outputs -v #{tools_dir}:/var/task lambci/lambda:build-ruby2.5 ruby build_ruby.rb} STDERR.puts("Excuting cmd: #{cmd.join(' ')}") system(*cmd) or raise end |
#build_rails! ⇒ Object
38 39 40 |
# File 'lib/lambda-layer-cake.rb', line 38 def build_rails! end |
#clean! ⇒ Object
11 12 13 |
# File 'lib/lambda-layer-cake.rb', line 11 def clean! FileUtils.rm_r(outputs_dir!) end |
#zip_layer! ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/lambda-layer-cake.rb', line 27 def zip_layer! pwd = Dir.pwd begin Dir.chdir(outputs_dir!) cmd = *%W{zip -r #{File.join(build_dir!, "layer-#{version}.zip")} lib ruby} system(*cmd) or raise ensure Dir.chdir(pwd) end end |