mr-shipper 0.0.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/shipper/service.rb +12 -6
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 305478ea7dce83929bc1baf921e612486097332fd12509724e289ddcd97f01a7
4
- data.tar.gz: 84f4b81e6e8d790287a2cdc82b2680a613a7eded1c0a83b1d71952548ea6dc84
3
+ metadata.gz: edf594bb44ed2b293851240ce12773bfe0caa22abba7306d2f212b259694b658
4
+ data.tar.gz: 6eef6adcdf7459dfcfe6849f6282440bff9711cfa1bbfd6eb7593d26bfee0526
5
5
  SHA512:
6
- metadata.gz: bb5e3d17bd095b5afc081e8e55fa1b5378123cd3dcdeeb7b21491c75a9be86d14fa11e1614bf9d3134596c164500736920ee57aba7a1da4ac96b74e928403fa9
7
- data.tar.gz: 1efc384e8a116d7f6c234003d8614ccaad696e9d719918843247549bf56e82ba559268576f359c3ce58ff19588a055ce51d1f5596b955202498792ae395c8a7e
6
+ metadata.gz: fd439c93e42cb10c935b2a055dbe50e9b9703eab6fca04e2c57c3002f0acc69fee53dc8e3527a5b006e879cf61a751cbb40b83d135e06dbc27c04b227f21e7f4
7
+ data.tar.gz: f426c088e38cb2f53651f7db847b23d44fee4185dc3c022215c8fef7ac03642be4af9bfb6519f24e16e30276818a3315c01bac1048e2b4dcf70e2f3e9caf973e
@@ -2,24 +2,30 @@
2
2
 
3
3
  module Shipper
4
4
  class Service
5
- attr_reader :name, :path, :before_build, :repo
5
+ attr_reader :name, :options, :path
6
6
 
7
7
  def initialize(name, options)
8
8
  @name = name
9
+ @options = options
9
10
  @path = "#{Dir.pwd}/#{options['path']}"
10
- @before_build = options['before_build']
11
- @repo = options['repo']
12
11
  end
13
12
 
14
13
  def ship!
15
14
  executor.cd(path)
16
- before_build&.each { |cmd| exec(cmd) }
17
- exec "docker build . -t #{repo}"
18
- exec "docker push #{repo}"
15
+ options['before_build']&.each { |cmd| exec(cmd) }
16
+ exec "docker build . -t #{options.fetch('repo')} #{build_args}".strip
17
+ exec "docker push #{options.fetch('repo')}"
19
18
  end
20
19
 
21
20
  private
22
21
 
22
+ def build_args
23
+ return nil if options['args'].nil?
24
+
25
+ options['args'].map { |key, value| "--build-arg #{key}=#{value}" }
26
+ .join(' ')
27
+ end
28
+
23
29
  def exec(cmd)
24
30
  executor.exec(cmd)
25
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mr-shipper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rostyslav Safonov