homeseed 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjE5MjNlYzQzOWQyNzM1NmQ5MmM5MjhhMDMyYTM0MTRhZTE3Y2M1NA==
4
+ NzM0MmJmMDYyOWY2OTlmYjBjMDlkOTIzMDAwZDhiOTA0MzExODg3MQ==
5
5
  data.tar.gz: !binary |-
6
- NGE2YjFjY2M2NGRmMjg1YzVmOTdkZTQ1ZGRkNjM1MmMxYmIzYTZiOA==
6
+ MDM4ZmMxMGVmOWRjNmVmYTM0YjEyYTNiMDdmMWExZDk0M2QwMGIxMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZTVmNGM5YzZhNjFiMmZjODZhYTgwYzc3YjYxM2FjMTRkM2EwM2FiODUwMTc1
10
- NjUzMDA4NDQxMjM2NWQ0NzhhOGJjMmFlOTIyOTk4NGVkZTc0OWYxYjAzYzI1
11
- MGNjOWRhNTk2NGM1OGIwYjUyMjU3NTA4ZjQzZWY1NTFhMzZmY2Q=
9
+ YzJkYWU3ZDNmZTNlNmVlZTA0ZDY4YWUxMjg0MWU5ZWIzYjAxMDU5YjNkMmFm
10
+ MjgzNTI0MGJiOGNiMDlmNTRjYmEwZDQxODY2NGVhNDkzMzA1YzQzOTVkY2I2
11
+ Mzc4MWEyOTU0NzQ1NTNjZGI1YmFjOGFiNTFjODkwMzA4ZDVjMjU=
12
12
  data.tar.gz: !binary |-
13
- N2E1ZjE2OWJjNjliNWU2ODYyOTk3NTRiNmFkZjllMDlhZGJhMjcwODhlZmQ1
14
- Y2M3NzcwMzQ1MTY2OTg1ZWZlMDJmOTg1NGE4OTQ0YjcyZDBjZmY4YmFjNTY5
15
- ZDVlMTY3YTU5ODI2OTlkMTI0MDk3MzFkM2VhYmVjZjZhOTczNDc=
13
+ NDU2NmVmNmYxOGYwYjUxOTYyY2NjZDk5NTA0MWI4YzU3M2VmN2VjOWE1MjQ0
14
+ MmY2MTQ3NDhiNDcxNjg2MzMwZmZlNzAzMTdiZTc0OTdkZTRmMmUxYWQxODE0
15
+ ZDUxOGJkNjdiM2Q1YTEyYmU3YzMyNmQ3OWM3MTNkYWVkODk2YjU=
@@ -1,3 +1,3 @@
1
1
  module Homeseed
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
data/lib/homeseed.rb CHANGED
@@ -3,27 +3,18 @@ require 'logger'
3
3
  require 'net/ssh'
4
4
  require 'net/scp'
5
5
  require 'yaml'
6
+ require_relative './logging'
6
7
 
7
8
  module Homeseed
8
9
  class Connection
9
- def self.logger
10
- @logger ||= Logger.new(STDOUT)
11
- original_formatter = Logger::Formatter.new
12
- @logger.formatter = proc { |severity, datetime, progname, msg|
13
- original_formatter.call(severity, datetime, progname, msg.dump)
14
- }
15
- @logger
16
- end
17
-
18
- def logger
19
- self.class.logger
20
- end
10
+ include Logging
21
11
 
22
12
  def initialize(params={})
23
13
  raise 'servers and/or user not specified' unless params[:servers] and params[:user]
24
14
  @servers = params[:servers].split(',')
25
15
  @user = params[:user]
26
16
  @password = params[:password] || ''
17
+ logger.level = params[:logger_level] || Logger::INFO
27
18
 
28
19
  if params[:command]
29
20
  @flat_commands = params[:command]
@@ -77,7 +68,13 @@ module Homeseed
77
68
  ch.on_extended_data do |c,type,data|
78
69
  data_lines = data.split(/[\r,\n]/)
79
70
  data_lines.each do |data_line|
80
- logger.error data_line unless data_line == ''
71
+ unless data_line == ''
72
+ if data_line.match(/error|failed/i)
73
+ logger.error data_line
74
+ else
75
+ logger.info data_line
76
+ end
77
+ end
81
78
  end
82
79
  end
83
80
 
@@ -95,9 +92,12 @@ module Homeseed
95
92
  def scp_upload
96
93
  @servers.each do |server|
97
94
  @upload_files.each do |upload_file|
98
- logger.info "scp #{upload_file} #{@user}@#{server}:#{@remote_path}"
99
- Net::SCP.start(server, @user) do |scp|
100
- scp.upload!(upload_file, @remote_path)
95
+ logger.info "starting scp #{upload_file} #{@user}@#{server}:#{@remote_path}"
96
+ begin
97
+ Net::SCP.start(server, @user) { |scp| scp.upload!(upload_file, @remote_path) }
98
+ logger.info "finished scp #{upload_file} #{@user}@#{server}:#{@remote_path}"
99
+ rescue => err
100
+ logger.error "scp FAILED #{err}"
101
101
  end
102
102
  end
103
103
  end
data/lib/logging.rb ADDED
@@ -0,0 +1,20 @@
1
+ module Logging
2
+ def logger
3
+ @logger ||= Logging.logger_for(self.class.name)
4
+ end
5
+
6
+ # Use a hash class-ivar to cache a unique Logger per class:
7
+ @loggers = {}
8
+
9
+ class << self
10
+ def logger_for(classname)
11
+ @loggers[classname] ||= configure_logger_for(classname)
12
+ end
13
+
14
+ def configure_logger_for(classname)
15
+ logger = Logger.new(STDOUT)
16
+ logger.progname = classname
17
+ logger
18
+ end
19
+ end
20
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: homeseed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - rbuchss
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-15 00:00:00.000000000 Z
11
+ date: 2014-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -101,6 +101,7 @@ files:
101
101
  - homeseed.gemspec
102
102
  - lib/homeseed.rb
103
103
  - lib/homeseed/version.rb
104
+ - lib/logging.rb
104
105
  homepage: http://github.com/rbuchss/homeseed
105
106
  licenses:
106
107
  - MIT