deplomat 0.2.10 → 0.2.11

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: 66ae898f5e989d5a0d75e1bc1553c4b5fbf0b72985f56d567196b45245a29e34
4
- data.tar.gz: 7997c279e5efa60157e363a9f2a364652ab63d9043cdd4776d46518d9e9adc43
3
+ metadata.gz: 2e9219f57f21ff90282cc86893d24ba465a64d5af5328fa34ea178f1080f8b38
4
+ data.tar.gz: 690b25723ba53be14fcd54770fdd3b994ddf516e74908d926c3e5cc48e4d856e
5
5
  SHA512:
6
- metadata.gz: 7e39f88db17fb163497d22f7df5e1852d4400d2cf7cf4fe95e8d17a7adaf79763bfff8d871ba3504f84a43077510fb2d92168c8980e6aba6169349476768d370
7
- data.tar.gz: bc9bb50fa861aeedb8e5ca8efdebeefa7b0172beb0a46eca85e4541e35dbe7d8981603918a159bc22a3453b2c38626b78938ac75c8611b0bb5f129cf5cc38090
6
+ metadata.gz: c24dd2f80073a91de3cb09b2780ff11ddc42e08e96fc3ce0d7d4f851175a1b9665c6f99bfd0a2684c43843fa740961f3e2272b6ade4680091bc787a027724f66
7
+ data.tar.gz: ec174a32acce4e363e9dfc43f8efb8ca55f82feb93f36469c699630053d826f428b6e0307c38d9584a25509333fb26b9510609738c30903007c091fbb8569502
data/Gemfile CHANGED
@@ -5,6 +5,5 @@ gem "colorize"
5
5
 
6
6
  group :development do
7
7
  gem "bundler", "~> 1.0"
8
- gem "jeweler"
9
8
  gem "rspec"
10
9
  end
data/Gemfile.lock CHANGED
@@ -1,71 +1,24 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.4.0)
5
- builder (3.2.3)
6
4
  colorize (0.8.1)
7
- descendants_tracker (0.0.4)
8
- thread_safe (~> 0.3, >= 0.3.1)
9
5
  diff-lcs (1.3)
10
- faraday (0.9.2)
11
- multipart-post (>= 1.2, < 3)
12
- ffi (1.9.25)
13
- git (1.4.0)
14
- github_api (0.16.0)
15
- addressable (~> 2.4.0)
16
- descendants_tracker (~> 0.0.4)
17
- faraday (~> 0.8, < 0.10)
18
- hashie (>= 3.4)
19
- mime-types (>= 1.16, < 3.0)
20
- oauth2 (~> 1.0)
21
- hashie (3.5.7)
22
- highline (1.7.10)
23
- jeweler (2.3.9)
24
- builder
25
- bundler
26
- git (>= 1.2.5)
27
- github_api (~> 0.16.0)
28
- highline (>= 1.6.15)
29
- nokogiri (>= 1.5.10)
30
- psych
31
- rake
32
- rdoc
33
- semver2
34
- jwt (1.5.6)
35
- mime-types (2.99.3)
36
- mini_portile2 (2.3.0)
37
- multi_json (1.13.1)
38
- multi_xml (0.6.0)
39
- multipart-post (2.0.0)
40
- nokogiri (1.8.2)
41
- mini_portile2 (~> 2.3.0)
42
- oauth2 (1.4.0)
43
- faraday (>= 0.8, < 0.13)
44
- jwt (~> 1.0)
45
- multi_json (~> 1.3)
46
- multi_xml (~> 0.5)
47
- rack (>= 1.2, < 3)
48
- psych (3.0.2)
49
- rack (2.0.6)
50
- rake (12.3.1)
51
- rdoc (6.0.4)
52
- rspec (3.7.0)
53
- rspec-core (~> 3.7.0)
54
- rspec-expectations (~> 3.7.0)
55
- rspec-mocks (~> 3.7.0)
56
- rspec-core (3.7.1)
57
- rspec-support (~> 3.7.0)
58
- rspec-expectations (3.7.0)
6
+ ffi (1.11.1)
7
+ rspec (3.8.0)
8
+ rspec-core (~> 3.8.0)
9
+ rspec-expectations (~> 3.8.0)
10
+ rspec-mocks (~> 3.8.0)
11
+ rspec-core (3.8.2)
12
+ rspec-support (~> 3.8.0)
13
+ rspec-expectations (3.8.4)
59
14
  diff-lcs (>= 1.2.0, < 2.0)
60
- rspec-support (~> 3.7.0)
61
- rspec-mocks (3.7.0)
15
+ rspec-support (~> 3.8.0)
16
+ rspec-mocks (3.8.1)
62
17
  diff-lcs (>= 1.2.0, < 2.0)
63
- rspec-support (~> 3.7.0)
64
- rspec-support (3.7.1)
65
- semver2 (3.4.2)
66
- sys-proctable (1.2.0)
18
+ rspec-support (~> 3.8.0)
19
+ rspec-support (3.8.2)
20
+ sys-proctable (1.2.1)
67
21
  ffi
68
- thread_safe (0.3.6)
69
22
 
70
23
  PLATFORMS
71
24
  ruby
@@ -73,9 +26,8 @@ PLATFORMS
73
26
  DEPENDENCIES
74
27
  bundler (~> 1.0)
75
28
  colorize
76
- jeweler
77
29
  rspec
78
30
  sys-proctable
79
31
 
80
32
  BUNDLED WITH
81
- 1.16.1
33
+ 1.17.2
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.10
1
+ 0.2.11
data/deplomat.gemspec CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "deplomat".freeze
9
- s.version = "0.2.10"
9
+ s.version = "0.2.11"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
data/lib/deplomat/node.rb CHANGED
@@ -2,8 +2,17 @@ module Deplomat
2
2
 
3
3
  class Node
4
4
 
5
- attr_accessor :log_to, :raise_exceptions, :logfile
5
+ attr_accessor :log_to, :raise_exceptions, :logfile, :wrap_in
6
6
  attr_reader :current_path
7
+ attr_writer :stdout_lines_to_ignore
8
+
9
+ def stdout_lines_to_ignore
10
+ if @stdout_lines_to_ignore.kind_of?(Array)
11
+ @stdout_lines_to_ignore
12
+ else
13
+ [@stdout_lines_to_ignore]
14
+ end.compact
15
+ end
7
16
 
8
17
  def initialize(logfile: "#{Dir.pwd}/deplomat.log", log_to: [:stdout], path: nil, raise_exceptions: true)
9
18
  @log_to = log_to
@@ -14,13 +23,18 @@ module Deplomat
14
23
 
15
24
  def execute(command, path=@current_path, message: [], stdout_source: :stdout, log_command: true, _raise_exceptions: @raise_exceptions)
16
25
 
26
+ original_command = command
27
+ if @wrap_in
28
+ command = @wrap_in.sub("_command_", command)
29
+ end
30
+
17
31
  message = [message] if message.kind_of?(String)
18
32
  log(message[0] + "\n", color: 'white') unless message.empty? || message.nil?
19
33
 
20
34
  # Respect current_path
21
- command_to_log = command
35
+ command_to_log = original_command
22
36
  if path
23
- command_to_log = "#{command}\n(in #{path})"
37
+ command_to_log = "#{original_command}\n(in #{path})"
24
38
  command = "cd #{path} && #{command}"
25
39
  end
26
40
 
@@ -30,12 +44,18 @@ module Deplomat
30
44
 
31
45
  # Sometimes, programs write in stderr, although there are no errors.
32
46
  # rake assets:precompile does that, for example.
33
- stdout_source_object = (stdout_source == :stderr ? stderr : stdout)
47
+ stdout_source_object = (stdout_source == :stderr ? stderr : stdout)
34
48
 
35
49
  log("--> " + command_to_log + "\n", color: "white") if log_command
36
- while line=stdout_source_object.gets do
37
- out << line
38
- log(" #{line}") if log_command
50
+ stdout_source_object.readlines.each_with_index do |line, i|
51
+ self.stdout_lines_to_ignore.each do |line_to_ignore|
52
+ line_to_ignore = line_to_ignore.to_a if line_to_ignore.kind_of?(Range)
53
+ line_to_ignore = [line_to_ignore] if line_to_ignore.kind_of?(Integer)
54
+ unless line_to_ignore.include?(i+1)
55
+ out << line
56
+ log(" #{line}") if log_command
57
+ end
58
+ end
39
59
  end
40
60
 
41
61
  error_out = ""
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deplomat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.10
4
+ version: 0.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Snitko
@@ -138,8 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  requirements: []
141
- rubyforge_project:
142
- rubygems_version: 2.7.6
141
+ rubygems_version: 3.0.3
143
142
  signing_key:
144
143
  specification_version: 4
145
144
  summary: Stack agnostic deployment system that uses bash and ssh commands