keystone 0.0.29
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.
- data/.gitignore +3 -0
- data/README +3 -0
- data/Rakefile +26 -0
- data/VERSION +1 -0
- data/doc/classes/Dir.html +139 -0
- data/doc/classes/Dir.src/M000003.html +25 -0
- data/doc/classes/FlagSetMaker.html +138 -0
- data/doc/classes/FlagSetMaker.src/M000018.html +18 -0
- data/doc/classes/FlagSetMaker/FlagSet.html +186 -0
- data/doc/classes/FlagSetMaker/FlagSet.src/M000019.html +24 -0
- data/doc/classes/FlagSetMaker/FlagSet.src/M000020.html +26 -0
- data/doc/classes/FlagSetMaker/FlagSet.src/M000021.html +18 -0
- data/doc/classes/FlagSetMaker/FlagSet.src/M000022.html +18 -0
- data/doc/classes/FlagSetMaker/Flags.html +304 -0
- data/doc/classes/FlagSetMaker/Flags.src/M000023.html +19 -0
- data/doc/classes/FlagSetMaker/Flags.src/M000024.html +18 -0
- data/doc/classes/FlagSetMaker/Flags.src/M000025.html +18 -0
- data/doc/classes/FlagSetMaker/Flags.src/M000026.html +18 -0
- data/doc/classes/FlagSetMaker/Flags.src/M000027.html +18 -0
- data/doc/classes/FlagSetMaker/Flags.src/M000029.html +18 -0
- data/doc/classes/FlagSetMaker/Flags.src/M000030.html +18 -0
- data/doc/classes/FlagSetMaker/Flags.src/M000031.html +18 -0
- data/doc/classes/FlagSetMaker/Flags.src/M000032.html +18 -0
- data/doc/classes/FlagSetMaker/Flags.src/M000033.html +18 -0
- data/doc/classes/Hoge.html +113 -0
- data/doc/classes/Keystone.html +174 -0
- data/doc/classes/Keystone/Base.html +191 -0
- data/doc/classes/Keystone/Base.src/M000054.html +22 -0
- data/doc/classes/Keystone/Base.src/M000055.html +18 -0
- data/doc/classes/Keystone/Base.src/M000056.html +25 -0
- data/doc/classes/Keystone/Base.src/M000057.html +18 -0
- data/doc/classes/Keystone/Base.src/M000058.html +20 -0
- data/doc/classes/Keystone/Batch.html +115 -0
- data/doc/classes/Keystone/Batch/Base.html +208 -0
- data/doc/classes/Keystone/Batch/Base.src/M000052.html +54 -0
- data/doc/classes/Keystone/Batch/Base.src/M000053.html +30 -0
- data/doc/classes/Keystone/CoreExt.html +105 -0
- data/doc/classes/Keystone/Mail.html +115 -0
- data/doc/classes/Keystone/Mail/Send.html +171 -0
- data/doc/classes/Keystone/Mail/Send.src/M000034.html +18 -0
- data/doc/classes/Keystone/Mail/Send.src/M000035.html +42 -0
- data/doc/classes/Keystone/Mail/Send.src/M000036.html +18 -0
- data/doc/classes/Keystone/Os.html +184 -0
- data/doc/classes/Keystone/Os.src/M000037.html +18 -0
- data/doc/classes/Keystone/Os.src/M000038.html +27 -0
- data/doc/classes/Keystone/Os/AbstractOs.html +227 -0
- data/doc/classes/Keystone/Os/AbstractOs.src/M000046.html +17 -0
- data/doc/classes/Keystone/Os/AbstractOs.src/M000047.html +17 -0
- data/doc/classes/Keystone/Os/AbstractOs.src/M000048.html +17 -0
- data/doc/classes/Keystone/Os/AbstractOs.src/M000049.html +17 -0
- data/doc/classes/Keystone/Os/AbstractOs.src/M000050.html +17 -0
- data/doc/classes/Keystone/Os/AbstractOs.src/M000051.html +25 -0
- data/doc/classes/Keystone/Os/Centos.html +113 -0
- data/doc/classes/Keystone/Os/Darwin.html +139 -0
- data/doc/classes/Keystone/Os/Darwin.src/M000039.html +18 -0
- data/doc/classes/Keystone/Os/Linux.html +139 -0
- data/doc/classes/Keystone/Os/Linux.src/M000045.html +26 -0
- data/doc/classes/Keystone/Os/Osx.html +113 -0
- data/doc/classes/Keystone/Os/Unix.html +199 -0
- data/doc/classes/Keystone/Os/Unix.src/M000040.html +27 -0
- data/doc/classes/Keystone/Os/Unix.src/M000041.html +18 -0
- data/doc/classes/Keystone/Os/Unix.src/M000042.html +18 -0
- data/doc/classes/Keystone/Os/Unix.src/M000043.html +18 -0
- data/doc/classes/Keystone/Os/Unix.src/M000044.html +18 -0
- data/doc/classes/Keystone/Rails.html +105 -0
- data/doc/classes/Keystone/StringUtil.html +226 -0
- data/doc/classes/Keystone/StringUtil.src/M000059.html +43 -0
- data/doc/classes/Keystone/StringUtil.src/M000060.html +25 -0
- data/doc/classes/Keystone/StringUtil.src/M000061.html +24 -0
- data/doc/classes/Keystone/StringUtil.src/M000062.html +18 -0
- data/doc/classes/Keystone/StringUtil.src/M000063.html +21 -0
- data/doc/classes/Object.html +240 -0
- data/doc/classes/Object.src/M000012.html +18 -0
- data/doc/classes/Object.src/M000013.html +20 -0
- data/doc/classes/Object.src/M000014.html +18 -0
- data/doc/classes/Object.src/M000015.html +18 -0
- data/doc/classes/Object.src/M000016.html +18 -0
- data/doc/classes/Object.src/M000017.html +19 -0
- data/doc/classes/Tempfile.html +139 -0
- data/doc/classes/Tempfile.src/M000011.html +25 -0
- data/doc/classes/TestCoreExt.html +152 -0
- data/doc/classes/TestCoreExt.src/M000009.html +17 -0
- data/doc/classes/TestCoreExt.src/M000010.html +21 -0
- data/doc/classes/TestStringUtilBase.html +197 -0
- data/doc/classes/TestStringUtilBase.src/M000004.html +17 -0
- data/doc/classes/TestStringUtilBase.src/M000005.html +23 -0
- data/doc/classes/TestStringUtilBase.src/M000006.html +22 -0
- data/doc/classes/TestStringUtilBase.src/M000007.html +25 -0
- data/doc/classes/TestStringUtilBase.src/M000008.html +34 -0
- data/doc/classes/Uri.html +158 -0
- data/doc/classes/Uri.src/M000001.html +18 -0
- data/doc/classes/Uri.src/M000002.html +18 -0
- data/doc/created.rid +1 -0
- data/doc/files/example/batch_sample_rb.html +134 -0
- data/doc/files/example/os_rb.html +109 -0
- data/doc/files/example/string_util_rb.html +109 -0
- data/doc/files/lib/keystone/base_rb.html +101 -0
- data/doc/files/lib/keystone/batch/base_rb.html +108 -0
- data/doc/files/lib/keystone/batch_rb.html +101 -0
- data/doc/files/lib/keystone/core_ext/array_rb.html +101 -0
- data/doc/files/lib/keystone/core_ext/blank_rb.html +101 -0
- data/doc/files/lib/keystone/core_ext/dir_rb.html +101 -0
- data/doc/files/lib/keystone/core_ext/object_rb.html +101 -0
- data/doc/files/lib/keystone/core_ext/tempfile_rb.html +108 -0
- data/doc/files/lib/keystone/core_ext/uri_rb.html +101 -0
- data/doc/files/lib/keystone/core_ext_rb.html +113 -0
- data/doc/files/lib/keystone/mail/send_rb.html +115 -0
- data/doc/files/lib/keystone/mail_rb.html +101 -0
- data/doc/files/lib/keystone/os/abstract_os_rb.html +101 -0
- data/doc/files/lib/keystone/os/centos_rb.html +101 -0
- data/doc/files/lib/keystone/os/darwin_rb.html +101 -0
- data/doc/files/lib/keystone/os/linux_rb.html +101 -0
- data/doc/files/lib/keystone/os/osx_rb.html +101 -0
- data/doc/files/lib/keystone/os/unix_rb.html +101 -0
- data/doc/files/lib/keystone/os_rb.html +108 -0
- data/doc/files/lib/keystone/string_util_rb.html +101 -0
- data/doc/files/lib/keystone_rb.html +116 -0
- data/doc/files/test/test_core_ext_rb.html +110 -0
- data/doc/files/test/test_string_util_rb.html +112 -0
- data/doc/files/vendor/flag_set_maker_rb.html +108 -0
- data/doc/files/vendor/moji_rb.html +118 -0
- data/doc/fr_class_index.html +52 -0
- data/doc/fr_file_index.html +54 -0
- data/doc/fr_method_index.html +89 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/example/batch_sample.rb +24 -0
- data/example/os.rb +4 -0
- data/example/sendmail.rb +21 -0
- data/example/string_util.rb +15 -0
- data/keystone.gemspec +209 -0
- data/lib/keystone.rb +25 -0
- data/lib/keystone/base.rb +75 -0
- data/lib/keystone/batch.rb +5 -0
- data/lib/keystone/batch/base.rb +217 -0
- data/lib/keystone/core_ext.rb +18 -0
- data/lib/keystone/core_ext/array.rb +29 -0
- data/lib/keystone/core_ext/blank.rb +44 -0
- data/lib/keystone/core_ext/dir.rb +16 -0
- data/lib/keystone/core_ext/ipaddr.rb +18 -0
- data/lib/keystone/core_ext/object.rb +34 -0
- data/lib/keystone/core_ext/tempfile.rb +14 -0
- data/lib/keystone/core_ext/uri.rb +14 -0
- data/lib/keystone/mail.rb +8 -0
- data/lib/keystone/mail/address.rb +92 -0
- data/lib/keystone/mail/content_type.rb +60 -0
- data/lib/keystone/mail/message.rb +102 -0
- data/lib/keystone/mail/message_factory.rb +18 -0
- data/lib/keystone/mail/message_iso2022jp.rb +126 -0
- data/lib/keystone/mail/message_sjis.rb +23 -0
- data/lib/keystone/mail/receive.rb +320 -0
- data/lib/keystone/mail/send.rb +83 -0
- data/lib/keystone/os.rb +26 -0
- data/lib/keystone/os/abstract_os.rb +36 -0
- data/lib/keystone/os/centos.rb +6 -0
- data/lib/keystone/os/darwin.rb +9 -0
- data/lib/keystone/os/linux.rb +15 -0
- data/lib/keystone/os/osx.rb +18 -0
- data/lib/keystone/os/unix.rb +43 -0
- data/lib/keystone/string_util.rb +85 -0
- data/test/test_core_ext.rb +15 -0
- data/test/test_string_util.rb +60 -0
- data/util/README +1 -0
- data/util/bin/command_broadcast.rb +137 -0
- data/util/bin/disk_size_check.rb +54 -0
- data/util/bin/notice +93 -0
- data/util/bin/ve2tar.rb +80 -0
- data/vendor/flag_set_maker.rb +121 -0
- data/vendor/moji.rb +502 -0
- metadata +236 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'keystone'
|
|
3
|
+
require "optparse"
|
|
4
|
+
|
|
5
|
+
include Keystone::Batch::Base
|
|
6
|
+
|
|
7
|
+
# 実行時に--helpでオプション一覧
|
|
8
|
+
|
|
9
|
+
has_option = {}
|
|
10
|
+
opts = option_parser
|
|
11
|
+
opts.on("-v value") do |v|
|
|
12
|
+
has_option[:v] = v
|
|
13
|
+
end
|
|
14
|
+
opts.on("-w who") do |v|
|
|
15
|
+
has_option[:w] = v
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
execute() do
|
|
19
|
+
sleep 10
|
|
20
|
+
info "batch process01"
|
|
21
|
+
info "who=#{has_option[:w]}"
|
|
22
|
+
sleep 4
|
|
23
|
+
raise 'error occur'
|
|
24
|
+
end
|
data/example/os.rb
ADDED
data/example/sendmail.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'keystone'
|
|
3
|
+
require 'pit'
|
|
4
|
+
|
|
5
|
+
ENV["EDITOR"] = "vi" unless ENV.key?("EDITOR")
|
|
6
|
+
|
|
7
|
+
config = Pit.get("keystone_test", :require => {
|
|
8
|
+
"smtp_addr" => "smtp_server_address",
|
|
9
|
+
"mailto" => "mailto",
|
|
10
|
+
"mailfrom" => "mailfrom"
|
|
11
|
+
})
|
|
12
|
+
|
|
13
|
+
@os = Keystone::Os.get()
|
|
14
|
+
|
|
15
|
+
Keystone::Mail::Send.send(
|
|
16
|
+
config["mailfrom"],
|
|
17
|
+
config["mailto"].split(","),
|
|
18
|
+
"件名でおま",
|
|
19
|
+
"本文で小間\nfrom #{@os.hostname}(#{@os.ip_address.join(" , ")})",
|
|
20
|
+
{:smtp_addr=>config["smtp_addr"],:retry_cnt=>3})
|
|
21
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'keystone'
|
|
3
|
+
|
|
4
|
+
st = %|test "test 02" 日本語 ニホンゴハンカク "にほ んご ですが なにか"|
|
|
5
|
+
st2 = Keystone::StringUtil.to_searchtext(st)
|
|
6
|
+
|
|
7
|
+
p Keystone::StringUtil.serach_string_to_array(st)
|
|
8
|
+
p Keystone::StringUtil.serach_string_to_array(st2)
|
|
9
|
+
|
|
10
|
+
info("test")
|
|
11
|
+
info("test\ntest2")
|
|
12
|
+
info("test\r\ntest2")
|
|
13
|
+
warn("test\rtest2")
|
|
14
|
+
error("test\ntest2")
|
|
15
|
+
info("test")
|
data/keystone.gemspec
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Generated by jeweler
|
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
|
4
|
+
# -*- encoding: utf-8 -*-
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |s|
|
|
7
|
+
s.name = %q{keystone}
|
|
8
|
+
s.version = "0.0.29"
|
|
9
|
+
|
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
|
+
s.authors = ["paco"]
|
|
12
|
+
s.date = %q{2010-09-02}
|
|
13
|
+
s.description = %q{oreore library}
|
|
14
|
+
s.email = %q{paco.jp@gmail.com}
|
|
15
|
+
s.extra_rdoc_files = [
|
|
16
|
+
"README"
|
|
17
|
+
]
|
|
18
|
+
s.files = [
|
|
19
|
+
".gitignore",
|
|
20
|
+
"README",
|
|
21
|
+
"Rakefile",
|
|
22
|
+
"VERSION",
|
|
23
|
+
"doc/classes/Dir.html",
|
|
24
|
+
"doc/classes/Dir.src/M000003.html",
|
|
25
|
+
"doc/classes/FlagSetMaker.html",
|
|
26
|
+
"doc/classes/FlagSetMaker.src/M000018.html",
|
|
27
|
+
"doc/classes/FlagSetMaker/FlagSet.html",
|
|
28
|
+
"doc/classes/FlagSetMaker/FlagSet.src/M000019.html",
|
|
29
|
+
"doc/classes/FlagSetMaker/FlagSet.src/M000020.html",
|
|
30
|
+
"doc/classes/FlagSetMaker/FlagSet.src/M000021.html",
|
|
31
|
+
"doc/classes/FlagSetMaker/FlagSet.src/M000022.html",
|
|
32
|
+
"doc/classes/FlagSetMaker/Flags.html",
|
|
33
|
+
"doc/classes/FlagSetMaker/Flags.src/M000023.html",
|
|
34
|
+
"doc/classes/FlagSetMaker/Flags.src/M000024.html",
|
|
35
|
+
"doc/classes/FlagSetMaker/Flags.src/M000025.html",
|
|
36
|
+
"doc/classes/FlagSetMaker/Flags.src/M000026.html",
|
|
37
|
+
"doc/classes/FlagSetMaker/Flags.src/M000027.html",
|
|
38
|
+
"doc/classes/FlagSetMaker/Flags.src/M000029.html",
|
|
39
|
+
"doc/classes/FlagSetMaker/Flags.src/M000030.html",
|
|
40
|
+
"doc/classes/FlagSetMaker/Flags.src/M000031.html",
|
|
41
|
+
"doc/classes/FlagSetMaker/Flags.src/M000032.html",
|
|
42
|
+
"doc/classes/FlagSetMaker/Flags.src/M000033.html",
|
|
43
|
+
"doc/classes/Hoge.html",
|
|
44
|
+
"doc/classes/Keystone.html",
|
|
45
|
+
"doc/classes/Keystone/Base.html",
|
|
46
|
+
"doc/classes/Keystone/Base.src/M000054.html",
|
|
47
|
+
"doc/classes/Keystone/Base.src/M000055.html",
|
|
48
|
+
"doc/classes/Keystone/Base.src/M000056.html",
|
|
49
|
+
"doc/classes/Keystone/Base.src/M000057.html",
|
|
50
|
+
"doc/classes/Keystone/Base.src/M000058.html",
|
|
51
|
+
"doc/classes/Keystone/Batch.html",
|
|
52
|
+
"doc/classes/Keystone/Batch/Base.html",
|
|
53
|
+
"doc/classes/Keystone/Batch/Base.src/M000052.html",
|
|
54
|
+
"doc/classes/Keystone/Batch/Base.src/M000053.html",
|
|
55
|
+
"doc/classes/Keystone/CoreExt.html",
|
|
56
|
+
"doc/classes/Keystone/Mail.html",
|
|
57
|
+
"doc/classes/Keystone/Mail/Send.html",
|
|
58
|
+
"doc/classes/Keystone/Mail/Send.src/M000034.html",
|
|
59
|
+
"doc/classes/Keystone/Mail/Send.src/M000035.html",
|
|
60
|
+
"doc/classes/Keystone/Mail/Send.src/M000036.html",
|
|
61
|
+
"doc/classes/Keystone/Os.html",
|
|
62
|
+
"doc/classes/Keystone/Os.src/M000037.html",
|
|
63
|
+
"doc/classes/Keystone/Os.src/M000038.html",
|
|
64
|
+
"doc/classes/Keystone/Os/AbstractOs.html",
|
|
65
|
+
"doc/classes/Keystone/Os/AbstractOs.src/M000046.html",
|
|
66
|
+
"doc/classes/Keystone/Os/AbstractOs.src/M000047.html",
|
|
67
|
+
"doc/classes/Keystone/Os/AbstractOs.src/M000048.html",
|
|
68
|
+
"doc/classes/Keystone/Os/AbstractOs.src/M000049.html",
|
|
69
|
+
"doc/classes/Keystone/Os/AbstractOs.src/M000050.html",
|
|
70
|
+
"doc/classes/Keystone/Os/AbstractOs.src/M000051.html",
|
|
71
|
+
"doc/classes/Keystone/Os/Centos.html",
|
|
72
|
+
"doc/classes/Keystone/Os/Darwin.html",
|
|
73
|
+
"doc/classes/Keystone/Os/Darwin.src/M000039.html",
|
|
74
|
+
"doc/classes/Keystone/Os/Linux.html",
|
|
75
|
+
"doc/classes/Keystone/Os/Linux.src/M000045.html",
|
|
76
|
+
"doc/classes/Keystone/Os/Osx.html",
|
|
77
|
+
"doc/classes/Keystone/Os/Unix.html",
|
|
78
|
+
"doc/classes/Keystone/Os/Unix.src/M000040.html",
|
|
79
|
+
"doc/classes/Keystone/Os/Unix.src/M000041.html",
|
|
80
|
+
"doc/classes/Keystone/Os/Unix.src/M000042.html",
|
|
81
|
+
"doc/classes/Keystone/Os/Unix.src/M000043.html",
|
|
82
|
+
"doc/classes/Keystone/Os/Unix.src/M000044.html",
|
|
83
|
+
"doc/classes/Keystone/Rails.html",
|
|
84
|
+
"doc/classes/Keystone/StringUtil.html",
|
|
85
|
+
"doc/classes/Keystone/StringUtil.src/M000059.html",
|
|
86
|
+
"doc/classes/Keystone/StringUtil.src/M000060.html",
|
|
87
|
+
"doc/classes/Keystone/StringUtil.src/M000061.html",
|
|
88
|
+
"doc/classes/Keystone/StringUtil.src/M000062.html",
|
|
89
|
+
"doc/classes/Keystone/StringUtil.src/M000063.html",
|
|
90
|
+
"doc/classes/Object.html",
|
|
91
|
+
"doc/classes/Object.src/M000012.html",
|
|
92
|
+
"doc/classes/Object.src/M000013.html",
|
|
93
|
+
"doc/classes/Object.src/M000014.html",
|
|
94
|
+
"doc/classes/Object.src/M000015.html",
|
|
95
|
+
"doc/classes/Object.src/M000016.html",
|
|
96
|
+
"doc/classes/Object.src/M000017.html",
|
|
97
|
+
"doc/classes/Tempfile.html",
|
|
98
|
+
"doc/classes/Tempfile.src/M000011.html",
|
|
99
|
+
"doc/classes/TestCoreExt.html",
|
|
100
|
+
"doc/classes/TestCoreExt.src/M000009.html",
|
|
101
|
+
"doc/classes/TestCoreExt.src/M000010.html",
|
|
102
|
+
"doc/classes/TestStringUtilBase.html",
|
|
103
|
+
"doc/classes/TestStringUtilBase.src/M000004.html",
|
|
104
|
+
"doc/classes/TestStringUtilBase.src/M000005.html",
|
|
105
|
+
"doc/classes/TestStringUtilBase.src/M000006.html",
|
|
106
|
+
"doc/classes/TestStringUtilBase.src/M000007.html",
|
|
107
|
+
"doc/classes/TestStringUtilBase.src/M000008.html",
|
|
108
|
+
"doc/classes/Uri.html",
|
|
109
|
+
"doc/classes/Uri.src/M000001.html",
|
|
110
|
+
"doc/classes/Uri.src/M000002.html",
|
|
111
|
+
"doc/created.rid",
|
|
112
|
+
"doc/files/example/batch_sample_rb.html",
|
|
113
|
+
"doc/files/example/os_rb.html",
|
|
114
|
+
"doc/files/example/string_util_rb.html",
|
|
115
|
+
"doc/files/lib/keystone/base_rb.html",
|
|
116
|
+
"doc/files/lib/keystone/batch/base_rb.html",
|
|
117
|
+
"doc/files/lib/keystone/batch_rb.html",
|
|
118
|
+
"doc/files/lib/keystone/core_ext/array_rb.html",
|
|
119
|
+
"doc/files/lib/keystone/core_ext/blank_rb.html",
|
|
120
|
+
"doc/files/lib/keystone/core_ext/dir_rb.html",
|
|
121
|
+
"doc/files/lib/keystone/core_ext/object_rb.html",
|
|
122
|
+
"doc/files/lib/keystone/core_ext/tempfile_rb.html",
|
|
123
|
+
"doc/files/lib/keystone/core_ext/uri_rb.html",
|
|
124
|
+
"doc/files/lib/keystone/core_ext_rb.html",
|
|
125
|
+
"doc/files/lib/keystone/mail/send_rb.html",
|
|
126
|
+
"doc/files/lib/keystone/mail_rb.html",
|
|
127
|
+
"doc/files/lib/keystone/os/abstract_os_rb.html",
|
|
128
|
+
"doc/files/lib/keystone/os/centos_rb.html",
|
|
129
|
+
"doc/files/lib/keystone/os/darwin_rb.html",
|
|
130
|
+
"doc/files/lib/keystone/os/linux_rb.html",
|
|
131
|
+
"doc/files/lib/keystone/os/osx_rb.html",
|
|
132
|
+
"doc/files/lib/keystone/os/unix_rb.html",
|
|
133
|
+
"doc/files/lib/keystone/os_rb.html",
|
|
134
|
+
"doc/files/lib/keystone/string_util_rb.html",
|
|
135
|
+
"doc/files/lib/keystone_rb.html",
|
|
136
|
+
"doc/files/test/test_core_ext_rb.html",
|
|
137
|
+
"doc/files/test/test_string_util_rb.html",
|
|
138
|
+
"doc/files/vendor/flag_set_maker_rb.html",
|
|
139
|
+
"doc/files/vendor/moji_rb.html",
|
|
140
|
+
"doc/fr_class_index.html",
|
|
141
|
+
"doc/fr_file_index.html",
|
|
142
|
+
"doc/fr_method_index.html",
|
|
143
|
+
"doc/index.html",
|
|
144
|
+
"doc/rdoc-style.css",
|
|
145
|
+
"example/batch_sample.rb",
|
|
146
|
+
"example/os.rb",
|
|
147
|
+
"example/sendmail.rb",
|
|
148
|
+
"example/string_util.rb",
|
|
149
|
+
"keystone.gemspec",
|
|
150
|
+
"lib/keystone.rb",
|
|
151
|
+
"lib/keystone/base.rb",
|
|
152
|
+
"lib/keystone/batch.rb",
|
|
153
|
+
"lib/keystone/batch/base.rb",
|
|
154
|
+
"lib/keystone/core_ext.rb",
|
|
155
|
+
"lib/keystone/core_ext/array.rb",
|
|
156
|
+
"lib/keystone/core_ext/blank.rb",
|
|
157
|
+
"lib/keystone/core_ext/dir.rb",
|
|
158
|
+
"lib/keystone/core_ext/ipaddr.rb",
|
|
159
|
+
"lib/keystone/core_ext/object.rb",
|
|
160
|
+
"lib/keystone/core_ext/tempfile.rb",
|
|
161
|
+
"lib/keystone/core_ext/uri.rb",
|
|
162
|
+
"lib/keystone/mail.rb",
|
|
163
|
+
"lib/keystone/mail/address.rb",
|
|
164
|
+
"lib/keystone/mail/content_type.rb",
|
|
165
|
+
"lib/keystone/mail/message.rb",
|
|
166
|
+
"lib/keystone/mail/message_factory.rb",
|
|
167
|
+
"lib/keystone/mail/message_iso2022jp.rb",
|
|
168
|
+
"lib/keystone/mail/message_sjis.rb",
|
|
169
|
+
"lib/keystone/mail/receive.rb",
|
|
170
|
+
"lib/keystone/mail/send.rb",
|
|
171
|
+
"lib/keystone/os.rb",
|
|
172
|
+
"lib/keystone/os/abstract_os.rb",
|
|
173
|
+
"lib/keystone/os/centos.rb",
|
|
174
|
+
"lib/keystone/os/darwin.rb",
|
|
175
|
+
"lib/keystone/os/linux.rb",
|
|
176
|
+
"lib/keystone/os/osx.rb",
|
|
177
|
+
"lib/keystone/os/unix.rb",
|
|
178
|
+
"lib/keystone/string_util.rb",
|
|
179
|
+
"test/test_core_ext.rb",
|
|
180
|
+
"test/test_string_util.rb",
|
|
181
|
+
"util/README",
|
|
182
|
+
"util/bin/command_broadcast.rb",
|
|
183
|
+
"util/bin/disk_size_check.rb",
|
|
184
|
+
"util/bin/notice",
|
|
185
|
+
"util/bin/ve2tar.rb",
|
|
186
|
+
"vendor/flag_set_maker.rb",
|
|
187
|
+
"vendor/moji.rb"
|
|
188
|
+
]
|
|
189
|
+
s.homepage = %q{http://github.com/kanamei/keystone}
|
|
190
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
|
191
|
+
s.require_paths = ["lib"]
|
|
192
|
+
s.rubygems_version = %q{1.3.7}
|
|
193
|
+
s.summary = %q{oreore library}
|
|
194
|
+
s.test_files = [
|
|
195
|
+
"test/test_core_ext.rb",
|
|
196
|
+
"test/test_string_util.rb"
|
|
197
|
+
]
|
|
198
|
+
|
|
199
|
+
if s.respond_to? :specification_version then
|
|
200
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
|
201
|
+
s.specification_version = 3
|
|
202
|
+
|
|
203
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
204
|
+
else
|
|
205
|
+
end
|
|
206
|
+
else
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
|
data/lib/keystone.rb
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
$KCODE = 'u'
|
|
3
|
+
|
|
4
|
+
require 'keystone/core_ext'
|
|
5
|
+
require 'keystone/base'
|
|
6
|
+
|
|
7
|
+
include Keystone::Base
|
|
8
|
+
|
|
9
|
+
autoload :FlagSetMaker , 'vendor/flag_set_maker'
|
|
10
|
+
autoload :Moji , 'vendor/moji'
|
|
11
|
+
|
|
12
|
+
module Keystone
|
|
13
|
+
|
|
14
|
+
VERSION = '0.0.27'
|
|
15
|
+
|
|
16
|
+
autoload :StringUtil , 'keystone/string_util'
|
|
17
|
+
autoload :Batch , 'keystone/batch'
|
|
18
|
+
autoload :Os , 'keystone/os'
|
|
19
|
+
autoload :Mail , 'keystone/mail'
|
|
20
|
+
|
|
21
|
+
module Rails
|
|
22
|
+
#autoload :ActiveSupportExt, 'keystone/rails/active_support_ext'
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
module Keystone
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
# ログレベルに関してのローカルルール(ログ確認に関して)
|
|
5
|
+
# debug 対応不要
|
|
6
|
+
# info 対応不要
|
|
7
|
+
# warn 複数個で営業時間内対応
|
|
8
|
+
# notice 1つで営業時間内対応
|
|
9
|
+
# error 1つで営業時間内対応
|
|
10
|
+
# alert 複数個で即時対応
|
|
11
|
+
# critical 1つで即時対応
|
|
12
|
+
#
|
|
13
|
+
module Base
|
|
14
|
+
def log(log_type,message, is_base_info = true)
|
|
15
|
+
|
|
16
|
+
# ......nangiyana
|
|
17
|
+
message.gsub!(/\r\n/,"\n")
|
|
18
|
+
message.gsub!(/\r/,"\n")
|
|
19
|
+
|
|
20
|
+
messages = message.split("\n")
|
|
21
|
+
if messages.size > 1
|
|
22
|
+
messages.each_with_index do |st,i|
|
|
23
|
+
if i == 0
|
|
24
|
+
puts "[#{Time.now.strftime("%Y/%m/%d %H:%M:%S")}][#{$$}][#{log_type.to_s}] #{st}"
|
|
25
|
+
else
|
|
26
|
+
puts "[#{log_type.to_s}] #{st}"
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
else
|
|
30
|
+
if is_base_info
|
|
31
|
+
puts "[#{Time.now.strftime("%Y/%m/%d %H:%M:%S")}][#{$$}][#{log_type.to_s}] #{message}"
|
|
32
|
+
else
|
|
33
|
+
puts "[#{log_type.to_s}] #{message}"
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def error(message)
|
|
39
|
+
if message.is_a? Exception
|
|
40
|
+
log(:ERROR,"#{message.message}")
|
|
41
|
+
message.backtrace.each_with_index {|line, i|
|
|
42
|
+
log(:ERROR,"#{line})",false)
|
|
43
|
+
}
|
|
44
|
+
else
|
|
45
|
+
log(:ERROR,message.to_s)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def info(message)
|
|
50
|
+
log(:INFO,message)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def warn(message)
|
|
54
|
+
log(:WARN,message)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def notice(message)
|
|
58
|
+
log(:NOTICE,message)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def alert(message)
|
|
62
|
+
log(:ALERT,message)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def critical(message)
|
|
66
|
+
log(:CRIT,message)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def debug(message)
|
|
70
|
+
if $DEBUG
|
|
71
|
+
log(:DEBUG,message)
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
require 'digest/md5'
|
|
2
|
+
require "optparse"
|
|
3
|
+
|
|
4
|
+
module Keystone::Batch
|
|
5
|
+
#
|
|
6
|
+
# = バッチをざくっと書きたい時用モジュール
|
|
7
|
+
#
|
|
8
|
+
# 基本的にはexecuteメソッドにバッチ処理をブロックで渡す
|
|
9
|
+
#
|
|
10
|
+
# == 定数
|
|
11
|
+
#
|
|
12
|
+
# ERROR_MAIL_TO (エラーメール送信先) 設定しておけば自動でエラーメールを送信してくれる
|
|
13
|
+
#
|
|
14
|
+
# ERROR_MAIL_FROM (エラーメール送信元) 設定されてない場合はERROR_MAIL_TOを使用
|
|
15
|
+
#
|
|
16
|
+
# ERROR_MAIL_STMP_ADDR (エラーメール送信SMTPアドレス) 設定されてない場合は"127.0.0.1"
|
|
17
|
+
#
|
|
18
|
+
# ERROR_MAIL_STMP_PORT (エラーメール送信SMTPポート) 設定されてない場合は25
|
|
19
|
+
#
|
|
20
|
+
module Base
|
|
21
|
+
def option_parser
|
|
22
|
+
@options ||= OptionParser.new
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# [options]
|
|
26
|
+
# プログラムより指定するバッチ動作オプション(ハッシュ値)
|
|
27
|
+
# :error_mail_to
|
|
28
|
+
# :error_mail_from
|
|
29
|
+
# :error_mail_smtp_addr
|
|
30
|
+
# :error_mail_smtp_port
|
|
31
|
+
# :double_process_check
|
|
32
|
+
# :auto_recover
|
|
33
|
+
#
|
|
34
|
+
# バッチの主処理をこのメソッドへのブロック引数として定義してください
|
|
35
|
+
#
|
|
36
|
+
# require 'rubygems'
|
|
37
|
+
# require 'keystone'
|
|
38
|
+
#
|
|
39
|
+
# include Keystone::Batch::Base
|
|
40
|
+
#
|
|
41
|
+
# execute() do
|
|
42
|
+
# info "batch process01"
|
|
43
|
+
# end
|
|
44
|
+
#
|
|
45
|
+
# railsのscript/runnerで使用する場合はscript/runnerを以下の感じでいじってから使用してください
|
|
46
|
+
#
|
|
47
|
+
# #!/usr/bin/env ruby
|
|
48
|
+
#
|
|
49
|
+
# #original add start
|
|
50
|
+
# ARGV_ORIGINAL = ARGV.clone
|
|
51
|
+
# ARGV.delete("-h")
|
|
52
|
+
# ARGV.delete("--help")
|
|
53
|
+
# #original add end
|
|
54
|
+
#
|
|
55
|
+
# require File.dirname(__FILE__) + '/../config/boot'
|
|
56
|
+
# require 'commands/runner'
|
|
57
|
+
#
|
|
58
|
+
def execute(options={},&process)
|
|
59
|
+
|
|
60
|
+
options[:error_mail_to] = nil unless options.key?(:error_mail_to)
|
|
61
|
+
options[:error_mail_from] = nil unless options.key?(:error_mail_from)
|
|
62
|
+
options[:error_mail_smtp_addr] = "127.0.0.1" unless options.key?(:error_mail_smtp_addr)
|
|
63
|
+
options[:error_mail_smtp_port] = 25 unless options.key?(:error_mail_smtp_port)
|
|
64
|
+
options[:double_process_check] = true unless options.key?(:double_process_check)
|
|
65
|
+
options[:auto_recover] = true unless options.key?(:auto_recover)
|
|
66
|
+
|
|
67
|
+
double_process_check = options[:double_process_check]
|
|
68
|
+
auto_recover = options[:auto_recover]
|
|
69
|
+
|
|
70
|
+
opts = option_parser()
|
|
71
|
+
pg_path = nil
|
|
72
|
+
|
|
73
|
+
# 2010/03/10 追加機能 まだrailsバッチ以外での動作をテストしてません
|
|
74
|
+
opts.on("--not_rails","set if this batch is not rails batch") do |v|
|
|
75
|
+
;
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
if Module.constants.include?("ARGV_ORIGINAL")
|
|
79
|
+
|
|
80
|
+
debug "ARGV_ORIGINAL found!!"
|
|
81
|
+
|
|
82
|
+
ARGV << "-h" if ARGV_ORIGINAL.include?("-h")
|
|
83
|
+
ARGV << "--help" if ARGV_ORIGINAL.include?("--help")
|
|
84
|
+
script_name = File.basename(ARGV_ORIGINAL[0])
|
|
85
|
+
pg_path = File.expand_path(script_name)
|
|
86
|
+
opts.banner = "Usage: script/runner #{script_name} [options]"
|
|
87
|
+
|
|
88
|
+
debug "pg_path=#{pg_path}"
|
|
89
|
+
opts.on("-e", "--environment=name",
|
|
90
|
+
String,"specifies the environment for the runner to operate under (test/development/production).",
|
|
91
|
+
"default: development")
|
|
92
|
+
else
|
|
93
|
+
debug "caller=#{caller}"
|
|
94
|
+
pg_path = if File.expand_path(caller[0]) =~ /(.*):\d*\z/
|
|
95
|
+
$1
|
|
96
|
+
else
|
|
97
|
+
raise "must not happen!! can not get caller value"
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
#
|
|
101
|
+
unless ARGV.include?("--not_rails")
|
|
102
|
+
opts.on("-e", "--environment=name",
|
|
103
|
+
String,"specifies the environment for the runner to operate under (test/development/production).",
|
|
104
|
+
"default: development")
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
opts.on("-h","--help","show this help message.") { $stderr.puts opts; exit }
|
|
109
|
+
|
|
110
|
+
pid_file = nil
|
|
111
|
+
opts.on("--lockfile LOCK_FILE_PATH","set lock file path") do |v|
|
|
112
|
+
double_process_check = true unless double_process_check
|
|
113
|
+
pid_file = v
|
|
114
|
+
end
|
|
115
|
+
opts.on("--double_process_check_off","disable double process check") do |v|
|
|
116
|
+
double_process_check = false
|
|
117
|
+
end
|
|
118
|
+
opts.on("--auto_recover_off","disable auto recover mode") do |v|
|
|
119
|
+
auto_recover = false
|
|
120
|
+
end
|
|
121
|
+
opts.on("--error_mail_to MAIL_ADDR") do |v|
|
|
122
|
+
options[:error_mail_to] = v
|
|
123
|
+
end
|
|
124
|
+
opts.on("--error_mail_from MAIL_ADDR") do |v|
|
|
125
|
+
options[:error_mail_from] = v
|
|
126
|
+
end
|
|
127
|
+
opts.on("--error_mail_smtp_addr IP_ADDR") do |v|
|
|
128
|
+
options[:error_mail_smtp_addr] = v
|
|
129
|
+
end
|
|
130
|
+
opts.on("--error_mail_smtp_port PORT") do |v|
|
|
131
|
+
options[:error_mail_smtp_port] = Integer(v)
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
opts.parse!(ARGV)
|
|
135
|
+
|
|
136
|
+
info "start script(#{pg_path})"
|
|
137
|
+
script_started_at = Time.now
|
|
138
|
+
double_process_check_worked = false
|
|
139
|
+
begin
|
|
140
|
+
# double process check
|
|
141
|
+
if double_process_check
|
|
142
|
+
#pg_path = File.expand_path($0)
|
|
143
|
+
pg_name = File.basename(pg_path)
|
|
144
|
+
hash = Digest::MD5.hexdigest(pg_path)
|
|
145
|
+
pid_file = "/tmp/.#{pg_name}.#{hash}.pid" unless pid_file
|
|
146
|
+
debug pid_file
|
|
147
|
+
if File.exists?(pid_file)
|
|
148
|
+
pid = File.open(pid_file).read.chomp
|
|
149
|
+
pid_list = `ps ax | awk '{print $1}'`
|
|
150
|
+
if (pid != nil && pid != "" ) && pid_list =~ /#{pid}/
|
|
151
|
+
warn "pid:#{pid} still running"
|
|
152
|
+
double_process_check_worked = true
|
|
153
|
+
return nil
|
|
154
|
+
else
|
|
155
|
+
if auto_recover
|
|
156
|
+
warn "lock file still exists[pid=#{pid}],but process does not found.auto_recover enabled.so process continues"
|
|
157
|
+
else
|
|
158
|
+
double_process_check_worked = true
|
|
159
|
+
raise "lock file still exists[pid=#{pid}],but process does not found.auto_recover disabled.so process can not continue"
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
File.open(pid_file, "w"){|file|
|
|
164
|
+
file.write $$
|
|
165
|
+
}
|
|
166
|
+
end
|
|
167
|
+
return (yield process)
|
|
168
|
+
rescue => e
|
|
169
|
+
error e
|
|
170
|
+
send_error_mail(e,options)
|
|
171
|
+
ensure
|
|
172
|
+
unless double_process_check_worked
|
|
173
|
+
File.delete(pid_file) if double_process_check
|
|
174
|
+
end
|
|
175
|
+
info "finish script (%1.3fsec)" % (Time.now - script_started_at)
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
#
|
|
180
|
+
# = エラーメール送信メソッド
|
|
181
|
+
# エクセプションを何も考えずにメールにて送信する
|
|
182
|
+
# 各種メール送信属性は定数にて渡す
|
|
183
|
+
#
|
|
184
|
+
# [exception]
|
|
185
|
+
# エクセプションクラスインスタンス
|
|
186
|
+
#
|
|
187
|
+
def send_error_mail(exception,options)
|
|
188
|
+
if options[:error_mail_to]
|
|
189
|
+
host = Keystone::Os.get()
|
|
190
|
+
title = %|error occur at "#{host.hostname}" [#{exception.message}]|
|
|
191
|
+
|
|
192
|
+
mail_to = options[:error_mail_to]
|
|
193
|
+
mail_to = [mail_to] if mail_to.is_a?(String)
|
|
194
|
+
mail_from = options[:error_mail_from] ? options[:error_mail_from] : mail_to[0]
|
|
195
|
+
smtp_addr = options[:error_mail_smtp_addr]
|
|
196
|
+
smtp_port = options[:error_mail_smtp_port]
|
|
197
|
+
|
|
198
|
+
debug "mail_to=#{mail_to}"
|
|
199
|
+
debug "mail_from=#{mail_from}"
|
|
200
|
+
debug "smtp_addr=#{smtp_addr}"
|
|
201
|
+
debug "smtp_port=#{smtp_port}"
|
|
202
|
+
|
|
203
|
+
body = <<-BODY
|
|
204
|
+
==== error message ====
|
|
205
|
+
#{exception.message}
|
|
206
|
+
====== backtrace ======
|
|
207
|
+
#{exception.backtrace.join("\n")}
|
|
208
|
+
===== environment =====
|
|
209
|
+
#{host.dump}
|
|
210
|
+
BODY
|
|
211
|
+
Keystone::Mail::Send.send(mail_from,mail_to,title,body,{:smtp_addr=>smtp_addr,:smtp_port=>smtp_port})
|
|
212
|
+
else
|
|
213
|
+
warn "ERROR_MAIL_TO not defined.if you want error mail automatically,set this value."
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
end
|