furikake 0.1.1 → 0.1.2
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/furikake/cli.rb +9 -1
- data/lib/furikake/monitor.rb +57 -0
- data/lib/furikake/report.rb +5 -1
- data/lib/furikake/version.rb +1 -1
- data/lib/furikake.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a45c1a74a67dc656002918784619fe693d32f1b0f59cf7fe958c75c3978ca4d9
|
4
|
+
data.tar.gz: a2dd9b4c94514bf760e72bc264864aa77b1e77ac517f9e06cc7bfd298389ff24
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c88d603c594ab8b665da001d50e72a3dfb2f2dfa160791b0ca66d01fb8310a9311e170e7aa335625d4fec0fc288c3683f071f5c0170d2e79c2c35ecd25d4765
|
7
|
+
data.tar.gz: 44140932dfd0455ef2d2a01ac828851d1ee5095720f3489fb28c118c7375d5ef1b1c67b70a91cff2262c4ad9d682925abf571aee59add253b180ce0bad16070a
|
data/Gemfile.lock
CHANGED
data/lib/furikake/cli.rb
CHANGED
@@ -13,12 +13,20 @@ module Furikake
|
|
13
13
|
report.show
|
14
14
|
end
|
15
15
|
|
16
|
-
desc 'publish', 'resouces publish to something.'
|
16
|
+
desc 'publish', 'resouces publish to something. (Default: Backlog)'
|
17
17
|
def publish
|
18
18
|
report = Furikake::Report.new
|
19
19
|
report.publish
|
20
20
|
end
|
21
21
|
|
22
|
+
desc 'monitor', 'resouces publish to something by daemonize process.'
|
23
|
+
option :interval, type: :numeric, aliases: '-i', default: 3600, desc: 'specify monitor interval (sec).'
|
24
|
+
option :pid, type: :string, aliases: '-p', default: 'furikake.pid', desc: 'specify PID file path (Default: furikake.pid)'
|
25
|
+
def monitor
|
26
|
+
monitor = Furikake::Monitor.new(options)
|
27
|
+
monitor.run
|
28
|
+
end
|
29
|
+
|
22
30
|
desc 'setup', 'generate .furikake.yml template.'
|
23
31
|
def setup
|
24
32
|
Furikake::Setup.run
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Reference: https://www.mk-mode.com/octopress/2013/10/06/ruby-daemonize-script/
|
2
|
+
require 'logger'
|
3
|
+
|
4
|
+
module Furikake
|
5
|
+
class Monitor < Report
|
6
|
+
def initialize(options)
|
7
|
+
@logger = Logger.new(STDOUT)
|
8
|
+
@flag_int = false
|
9
|
+
@pid_file = options[:pid]
|
10
|
+
@interval = options[:interval]
|
11
|
+
end
|
12
|
+
|
13
|
+
def run
|
14
|
+
begin
|
15
|
+
@logger.info 'furikake monitor starting.'
|
16
|
+
daemonize
|
17
|
+
set_trap
|
18
|
+
monitor
|
19
|
+
@logger.warn "furikake monitor stopped."
|
20
|
+
File.delete(@pid_file) if File.file?(@pid_file)
|
21
|
+
rescue => e
|
22
|
+
@logger.error "monitor の起動に失敗しました. #{e}"
|
23
|
+
exit 1
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def daemonize
|
30
|
+
begin
|
31
|
+
Process.daemon(true, true)
|
32
|
+
open(@pid_file, 'w') { |f| f << Process.pid }
|
33
|
+
rescue => e
|
34
|
+
@logger.error "monitor のデーモン化に失敗しました. #{e}"
|
35
|
+
exit 1
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def set_trap
|
40
|
+
begin
|
41
|
+
Signal.trap(:INT) { @flag_int = true }
|
42
|
+
Signal.trap(:TERM) { @flag_int = true }
|
43
|
+
rescue => e
|
44
|
+
@logger.error "monitor のトラップ設定に失敗しました. #{e}"
|
45
|
+
exit 1
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def monitor
|
50
|
+
while true
|
51
|
+
break if @flag_int
|
52
|
+
publish
|
53
|
+
sleep @interval
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/lib/furikake/report.rb
CHANGED
@@ -27,6 +27,10 @@ module Furikake
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
+
# def monitor_test
|
31
|
+
# show
|
32
|
+
# end
|
33
|
+
|
30
34
|
private
|
31
35
|
|
32
36
|
def generate(header, footer)
|
@@ -40,7 +44,7 @@ EOS
|
|
40
44
|
end
|
41
45
|
|
42
46
|
def check_api_key(param)
|
43
|
-
if !param.has_key?(
|
47
|
+
if !param.has_key?('api_key') or param['api_key'].nil?
|
44
48
|
if !ENV['BACKLOG_API_KEY'].nil? or !ENV['BACKLOG_API_KEY'] == ''
|
45
49
|
param['api_key'] = ENV['BACKLOG_API_KEY']
|
46
50
|
return param
|
data/lib/furikake/version.rb
CHANGED
data/lib/furikake.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: furikake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- inokappa
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -151,6 +151,7 @@ files:
|
|
151
151
|
- lib/furikake/formatter.rb
|
152
152
|
- lib/furikake/formatters/csv.rb
|
153
153
|
- lib/furikake/formatters/markdown.rb
|
154
|
+
- lib/furikake/monitor.rb
|
154
155
|
- lib/furikake/report.rb
|
155
156
|
- lib/furikake/reporters/backlog.rb
|
156
157
|
- lib/furikake/resource.rb
|