dply 0.3.11 → 0.3.12

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
  SHA256:
3
- metadata.gz: 96fbfcce3c8a2e5404e890de41d56654318486f72f3e75ff66bf66e581ebaa12
4
- data.tar.gz: 6d392dcfabfe8baa40b4dd70d0edfd54f12c907d3061a04b9c6f372dd8a64ce9
3
+ metadata.gz: 55d99894e3da7af050da5f7d13dedc375da33bdc8caac7b14f96b67f17d83c13
4
+ data.tar.gz: ecd98f89af7c815d424058ecd155af05b0f4b1a7595d00129b1dd011f503914d
5
5
  SHA512:
6
- metadata.gz: 5fa9c1f8a344b3a76c4bde61b659c593be22c40cc3c4b4fdf7780efafe39602c64fe2b097e7500f39f0bf308df2f8790fdf6dcecd826681e2a5b81f8ccd18914
7
- data.tar.gz: 182bd7d26be2e2ed0138f419e972480ddd1a556d763d96d297c54d8b6d90d8426606ae5164d54d62ab2fa8f51366a51e31c4b07a74d28ff4c48de0edae305741
6
+ metadata.gz: 3d90ae8db5c66c444a3094846da3697a79ab2a79be253973472af1cf8129e411bc0df0a60ad74d2469586fbe9b182617faefb5461a9c3e189755b38edeccf2be
7
+ data.tar.gz: 37d6c1efb5c13c311bbc081e22ee5c9aa923c431371e55a110f1fb8ab4361979d72611bc897a424df7f550201dca587437ccf02a373df96a3c7a0f49d5fcc25d
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
2
  lib = File.expand_path(File.dirname(__FILE__) + '/../lib')
3
3
  $LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib)
4
- load __dir__ + '/../bin/dplyr'
4
+ load __dir__ + '/../exe/dplyr'
@@ -1,3 +1,3 @@
1
1
  module Dply
2
- VERSION = "0.3.11"
2
+ VERSION = "0.3.12"
3
3
  end
@@ -1,5 +1,4 @@
1
1
  require 'pty'
2
- require 'dplyr/report'
3
2
  require 'dply/logger'
4
3
 
5
4
  module Dplyr
@@ -9,26 +8,43 @@ module Dplyr
9
8
 
10
9
  attr_reader :exit_status, :messages
11
10
 
12
- def initialize(host, task, id_size: nil)
11
+ SSH_OPTS = %w(-oBatchMode=yes -oStrictHostKeyChecking=no -oUserKnownHostsFile=/dev/null)
12
+
13
+ def initialize(host, task, id_size:)
13
14
  @host = host
14
15
  @task = task
16
+ @id = host[:id]
15
17
  @messages = []
16
- @id_size = id_size || @host_info[:id].size
18
+ @id_size = id_size
17
19
  end
18
20
 
19
21
  def run
20
22
  reset!
21
- r, w, pid = PTY.spawn(remote_cmd)
22
- pty_read(r, @host[:id])
23
+ copy_application_yml
24
+ r, w, pid = spawn_remote_cmd
25
+ pty_read r
23
26
  @exit_status = get_exit_status pid
24
27
  end
25
28
 
26
- def remote_cmd
29
+ def copy_application_yml
30
+ src = "config/application.yml"
31
+ dest = "#{user}@#{addr}:#{dir}/config/application.yml"
32
+ return if not File.exist? src
33
+ hprint "copying application.yml\n"
34
+ command = ["scp", "-q", *SSH_OPTS, src, dest]
35
+ system *command, exception: true
36
+ end
37
+
38
+ def spawn_remote_cmd
27
39
  if logger.debug?
28
- %(#{ssh} -l #{user} #{addr} '#{env} drake --remote --debug -d #{dir} #{@task} 2>&1')
40
+ script = %(#{env} drake --remote --debug -d #{dir} #{@task} 2>&1)
41
+ err = :out
29
42
  else
30
- %(#{ssh} -l #{user} #{addr} '#{env} drake --remote -d #{dir} #{@task} 2>&1' 2>/dev/null)
43
+ script = %(#{env} drake --remote -d #{dir} #{@task} 2>&1)
44
+ err = "/dev/null"
31
45
  end
46
+ command = ["ssh", "-tt", *SSH_OPTS, "-l", user, addr, script]
47
+ PTY.spawn(*command, err: err)
32
48
  end
33
49
 
34
50
  def user
@@ -47,16 +63,12 @@ module Dplyr
47
63
  @host.fetch :roles
48
64
  end
49
65
 
50
- def ssh
51
- "ssh -tt -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
52
- end
53
-
54
- def pty_read(file, id)
66
+ def pty_read(file)
55
67
  file.each do |line|
56
68
  if line =~ /\Adply_msg\|/
57
69
  receive_message line
58
70
  else
59
- printf output_template, id, line
71
+ hprint line
60
72
  end
61
73
  end
62
74
  rescue EOFError,Errno::ECONNRESET, Errno::EPIPE, Errno::EIO => e
@@ -80,6 +92,10 @@ module Dplyr
80
92
  end
81
93
  end
82
94
 
95
+ def hprint(message)
96
+ printf output_template, @id, message
97
+ end
98
+
83
99
  def reset!
84
100
  @output_template = nil
85
101
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dply
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.11
4
+ version: 0.3.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Neeraj
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-17 00:00:00.000000000 Z
11
+ date: 2019-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-elf