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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 12fce13b0a99d317cb5123603632ac4734f21179
4
- data.tar.gz: 56949f29051251f71e370cbc990d21ed05bc1f8c
3
+ metadata.gz: 080aa3de7a6a04b8bf47ba6809423cf014b25729
4
+ data.tar.gz: 86dbe86eb40832b48541d06ca2cd5d10c92bf664
5
5
  SHA512:
6
- metadata.gz: 0f2a51290bac000d1001a9da221d7a3120d573210b7e452e9a313b92414bfc0306f5d85b6b9303f8224ef2bca9e46c05958b0f1c2286cdf3366617b7d388a7d0
7
- data.tar.gz: 98172f1c35774215f7c074e511a6236b46d907ff12a91243ca517648b4eddf559aa28a058d9b081f305272f24ea026e0a1bf253e8914af2504854dafde74d94f
6
+ metadata.gz: fddddfdbb15ec3c6ca28b9018e0cbf7befe144554fdb4912c3a7f01cf115db4a1f8e6de99e5fa6a1203eabe825e1fdfa79f46047d854dc8783ab8c841c92d344
7
+ data.tar.gz: 75a984de2c5428cf80760fad89615c69d01bb5ba3f01c01259bdcda737799f9e3d3875887021d97551bbac5825b31e90737f84d015435343c6142c6821098a6c
@@ -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
- @uri = URI(url)
7
+ @url = url
8
8
  end
9
9
 
10
10
  def fetch
11
- request = Net::HTTP::Get.new(uri)
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(response.body)
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 :uri
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
@@ -1,6 +1,8 @@
1
1
  module ProjectMonitorStat
2
- VERSION = '0.0.2'
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.2
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