pacojp-skutil 0.0.5 → 0.0.6

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.
Files changed (2) hide show
  1. data/lib/skutil.rb +58 -0
  2. metadata +1 -1
data/lib/skutil.rb CHANGED
@@ -1,8 +1,56 @@
1
1
 
2
+ require 'net/scp'
2
3
  require 'net/smtp'
3
4
  require 'kconv'
4
5
 
5
6
  module Skutil
7
+ module Base
8
+ def log(log_type,message, is_base_info = true)
9
+ if is_base_info
10
+ puts "[#{Time.now.strftime("%Y/%m/%d %H:%M:%S")}][#{$$}][#{log_type.to_s}] #{message}"
11
+ else
12
+ puts "[#{log_type.to_s}] #{message}"
13
+ end
14
+ end
15
+
16
+ def info(message)
17
+ log(:INFO,message)
18
+ end
19
+
20
+ def error(message)
21
+ if message.is_a? Exception
22
+ log(:ERROR," #{message.message}")
23
+ message.backtrace.each_with_index {|line, i|
24
+ log(:ERROR," #{line})",false)
25
+ }
26
+ else
27
+ log(:ERROR,message.to_s)
28
+ end
29
+ end
30
+
31
+ def warn(message)
32
+ log(:WARN,message)
33
+ end
34
+
35
+ def debug(message)
36
+ if $IS_DEBUG
37
+ log(:DEBUG,message)
38
+ end
39
+ end
40
+
41
+ def execute(&process)
42
+ info "start script"
43
+ script_started_at = Time.now
44
+ begin
45
+ yield process
46
+ rescue => e
47
+ error e
48
+ Skutil::Mail.send_error(ERROR_MAIL_FROM,ERROR_MAIL_TO,ERROR_MAIL_SUBJECT,e)
49
+ end
50
+ info "finish script (#{Time.now - script_started_at}sec)"
51
+ end
52
+ end
53
+
6
54
  class Mail
7
55
  def self.send(from,to,title,body,smtp_addr='127.0.0.1',smtp_port=25)
8
56
  from_addr,from_addr_4_header = create_addr_and_header(from)
@@ -29,6 +77,16 @@ HEAD
29
77
  m.sendmail(src, from_addr, to)
30
78
  m.finish
31
79
  end
80
+
81
+ def self.send_error(from,to,title,error,smtp_addr='127.0.0.1',smtp_port=25)
82
+ body = <<-BODY
83
+ #{error.to_s}
84
+ #{error.backtrace.join("\n")}
85
+ =====================================
86
+ #{Skutil::Server.environment}
87
+ BODY
88
+ Skutil::Mail.send(from,to,title,body,smtp_addr,smtp_port)
89
+ end
32
90
 
33
91
  def self.create_addr_and_header(addr_data)
34
92
  addr = ''
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pacojp-skutil
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - paco