project_monitor_stat 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/project_monitor_stat +1 -24
- data/lib/project_monitor_stat/fetcher.rb +4 -8
- data/lib/project_monitor_stat/reporter.rb +40 -0
- data/lib/project_monitor_stat/util.rb +22 -0
- data/lib/project_monitor_stat.rb +3 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 080aa3de7a6a04b8bf47ba6809423cf014b25729
|
4
|
+
data.tar.gz: 86dbe86eb40832b48541d06ca2cd5d10c92bf664
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fddddfdbb15ec3c6ca28b9018e0cbf7befe144554fdb4912c3a7f01cf115db4a1f8e6de99e5fa6a1203eabe825e1fdfa79f46047d854dc8783ab8c841c92d344
|
7
|
+
data.tar.gz: 75a984de2c5428cf80760fad89615c69d01bb5ba3f01c01259bdcda737799f9e3d3875887021d97551bbac5825b31e90737f84d015435343c6142c6821098a6c
|
data/bin/project_monitor_stat
CHANGED
@@ -3,28 +3,5 @@ require 'project_monitor_stat'
|
|
3
3
|
|
4
4
|
config = ProjectMonitorStat::Config.parse_options(argv: ARGV)
|
5
5
|
result = ProjectMonitorStat::Fetcher.new(url: config.url).fetch
|
6
|
+
ProjectMonitorStat::Reporter.new(config: config, result: result).report
|
6
7
|
|
7
|
-
case result
|
8
|
-
when :success
|
9
|
-
if config.success_cmd
|
10
|
-
system(config.success_cmd)
|
11
|
-
else
|
12
|
-
exit(0)
|
13
|
-
end
|
14
|
-
when :building
|
15
|
-
if config.building_cmd
|
16
|
-
system(config.building_cmd)
|
17
|
-
else
|
18
|
-
exit(0)
|
19
|
-
end
|
20
|
-
when :fail
|
21
|
-
if config.fail_cmd
|
22
|
-
system(config.fail_cmd)
|
23
|
-
else
|
24
|
-
exit(1)
|
25
|
-
end
|
26
|
-
when :error
|
27
|
-
raise 'Error'
|
28
|
-
else
|
29
|
-
raise 'Unknown Error'
|
30
|
-
end
|
@@ -4,18 +4,14 @@ require 'json'
|
|
4
4
|
module ProjectMonitorStat
|
5
5
|
class Fetcher
|
6
6
|
def initialize(url: raise, session_id: nil)
|
7
|
-
@
|
7
|
+
@url = url
|
8
8
|
end
|
9
9
|
|
10
10
|
def fetch
|
11
|
-
|
12
|
-
|
13
|
-
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
|
14
|
-
http.request(request)
|
15
|
-
end
|
11
|
+
json = Util.get(url)
|
16
12
|
|
17
13
|
begin
|
18
|
-
projects = JSON.parse(
|
14
|
+
projects = JSON.parse(json)
|
19
15
|
rescue JSON::ParserError
|
20
16
|
return :error
|
21
17
|
end
|
@@ -44,6 +40,6 @@ module ProjectMonitorStat
|
|
44
40
|
|
45
41
|
private
|
46
42
|
|
47
|
-
attr_reader :
|
43
|
+
attr_reader :url
|
48
44
|
end
|
49
45
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module ProjectMonitorStat
|
2
|
+
class Reporter
|
3
|
+
def initialize(config: raise, result: raise)
|
4
|
+
@config = config
|
5
|
+
@result = result
|
6
|
+
end
|
7
|
+
|
8
|
+
def report
|
9
|
+
case result
|
10
|
+
when :success
|
11
|
+
if config.success_cmd
|
12
|
+
Util.system(config.success_cmd)
|
13
|
+
else
|
14
|
+
Util.puts result
|
15
|
+
end
|
16
|
+
when :building
|
17
|
+
if config.building_cmd
|
18
|
+
Util.system(config.building_cmd)
|
19
|
+
else
|
20
|
+
Util.puts result
|
21
|
+
end
|
22
|
+
when :fail
|
23
|
+
if config.fail_cmd
|
24
|
+
Util.system(config.fail_cmd)
|
25
|
+
else
|
26
|
+
Util.puts result
|
27
|
+
end
|
28
|
+
when :error
|
29
|
+
raise 'Error'
|
30
|
+
else
|
31
|
+
raise 'Unknown Error'
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
attr_reader :config, :result
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module ProjectMonitorStat
|
2
|
+
class Util
|
3
|
+
def self.puts(*args)
|
4
|
+
IO.puts(*args)
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.system(*args)
|
8
|
+
Kernel.system(*args)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.get(url)
|
12
|
+
uri = URI(url)
|
13
|
+
request = Net::HTTP::Get.new(uri)
|
14
|
+
|
15
|
+
response = Net::HTTP.start(uri.hostname, uri.port) do |http|
|
16
|
+
http.request(request)
|
17
|
+
end
|
18
|
+
|
19
|
+
response.body
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/project_monitor_stat.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
module ProjectMonitorStat
|
2
|
-
VERSION = '0.0.
|
2
|
+
VERSION = '0.0.3'
|
3
3
|
|
4
4
|
autoload :Config, 'project_monitor_stat/config'
|
5
5
|
autoload :Fetcher, 'project_monitor_stat/fetcher'
|
6
|
+
autoload :Reporter, 'project_monitor_stat/reporter'
|
7
|
+
autoload :Util, 'project_monitor_stat/util'
|
6
8
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: project_monitor_stat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Micah Young
|
@@ -52,6 +52,8 @@ files:
|
|
52
52
|
- lib/project_monitor_stat.rb
|
53
53
|
- lib/project_monitor_stat/config.rb
|
54
54
|
- lib/project_monitor_stat/fetcher.rb
|
55
|
+
- lib/project_monitor_stat/reporter.rb
|
56
|
+
- lib/project_monitor_stat/util.rb
|
55
57
|
homepage: http://rubygems.org/gems/project_monitor_stat
|
56
58
|
licenses:
|
57
59
|
- MIT
|