Class: S3Rsync::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/s3rsync/base.rb

Direct Known Subclasses

Sync

Instance Method Summary collapse

Instance Method Details

#error_exit(msg, exit_code = 1) ⇒ Object



26
27
28
29
# File 'lib/s3rsync/base.rb', line 26

def error_exit(msg, exit_code = 1)
  @log.error msg
  exit exit_code
end

#init_logger(log_path = nil) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/s3rsync/base.rb', line 7

def init_logger(log_path = nil)
  output_file = log_path.nil? ? STDOUT : log_path
  logger = Logger.new(output_file)
  logger.level = (!ENV['DEBUG'].nil?) ? Logger::DEBUG : Logger::INFO
  logger.debug "logger.level: #{logger.level}"
  logger
end

#init_statsd(host = 'localhost', port = 9125) ⇒ Object

Usage:



19
20
21
22
23
24
# File 'lib/s3rsync/base.rb', line 19

def init_statsd(host = 'localhost', port = 9125)
  hostname_prefix = Socket.gethostname.split('.').first
  statsd = Statsd.new host, port
  statsd.namespace = hostname_prefix
  statsd
end

#pass_cli(cmd, valid_out_pattern = nil) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/s3rsync/base.rb', line 31

def pass_cli(cmd, valid_out_pattern = nil)
  cmd += ' 2>&1'
  @log.debug "running cmd: #{cmd}"
  cmd_out = `#{cmd}`
  success_exec = $?.success?
  @log.info "cmd_out: #{cmd_out}"
  @log.debug "success_exec: #{success_exec}"
  
  valid_content = valid_out_pattern.nil? ? true : !cmd_out.match(/#{valid_out_pattern}/).nil?
  @log.debug "valid_content: #{valid_content}"
  
  error_exit "Not successful execution or not valid_content! out: #{cmd_out}" if (!success_exec || !valid_content)
  cmd_out
end