mcrain 0.3.2 → 0.3.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 25014588e4b0a4b53163edc9897c7d28c728bba7
4
- data.tar.gz: e2c8625531480453ffd5a2c06472657523bf1fe1
3
+ metadata.gz: b5629c435f26df6400e933c493df85b13e5a09bd
4
+ data.tar.gz: 3d63157ba342d42c2021963af422061e072127b4
5
5
  SHA512:
6
- metadata.gz: ff1342b68ede623290b779dd96c37682b2d53ac6630122a99c379304105a5fbdbad3f49bde301ee7ca5d3bd55bf1f30c218fb32d3ecace0cb074296d2705b72f
7
- data.tar.gz: 77c4fa278139c172f6fbe30f89a37af6d2feb32b6cedd40368cf270ba0c021f3969b45ee8c38b0b9e7841733e60685204038285c2150b310e2cd3389e01c3f1b
6
+ metadata.gz: 39cfe426a5b1a9b22960e504d1459982c0212d5750250d97d3567ebf11d91785e4ff79b6ab4be37c277ac9150f8670a3fefd73a2d8a632a32c38e37ce483f550
7
+ data.tar.gz: c6ae5b7cd0e03408ad61f8300a1aafdbd27406e18b00b0e46d5e203b7fdf06411f24d081f5ca81b3312c3f0fce0503c42b5e6835d08281f97d0c1ba092cc7bab
@@ -64,13 +64,17 @@ module Mcrain
64
64
  def download_files_from_vm(host, files)
65
65
  return if files.values.all?{|f| File.readable?(f)}
66
66
  files.values.each{|f| FileUtils.mkdir_p(File.dirname(f))}
67
- Net::SCP.start(host, "docker", :password => "tcuser") do |scp|
67
+ scp_connect(host) do |scp|
68
68
  files.each do |src, dest|
69
69
  scp.download(src, dest)
70
70
  end
71
71
  end
72
72
  end
73
73
 
74
+ def scp_connect(host, &block)
75
+ Net::SCP.start(host, "docker", :password => "tcuser", &block)
76
+ end
77
+
74
78
  BOOT2DOCKER_DOCKER_HOME = '/home/docker'.freeze
75
79
 
76
80
  # return temporary dire for 2nd argument of Dir.mktmpdir
@@ -136,5 +140,30 @@ module Mcrain
136
140
  return r
137
141
  end
138
142
 
143
+ def cp_r(src, dest)
144
+ used? ? cp_r_remote(src, dest) : cp_r_local(src, dest)
145
+ end
146
+
147
+ def cp_r_remote(src, dest)
148
+ Dir.mktmpdir("for_tarball") do |dir|
149
+ tarball_name = "#{File.basename(src)}.tar.gz"
150
+ FileUtils.chdir(dir) do
151
+ FileUtils.cp_r(src, ".")
152
+ unless system("tar zcf #{tarball_name} #{File.basename(src)}")
153
+ raise "failed to create tarball of #{src} to #{dir}"
154
+ end
155
+ end
156
+ host = URI.parse(ENV["DOCKER_HOST"]).host
157
+ scp_connect(host) do |scp|
158
+ scp.upload!(File.join(dir, tarball_name), dest)
159
+ scp.session.exec!("cd #{dest} && tar zxf #{tarball_name}")
160
+ end
161
+ end
162
+ end
163
+
164
+ def cp_r_local(src, dest)
165
+ FileUtils.cp_r(src, dest)
166
+ end
167
+
139
168
  end
140
169
  end
@@ -1,3 +1,3 @@
1
1
  module Mcrain
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mcrain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - akm
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-08-11 00:00:00.000000000 Z
11
+ date: 2015-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logger_pipe