project_monitor_stat 0.0.3 → 0.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 080aa3de7a6a04b8bf47ba6809423cf014b25729
4
- data.tar.gz: 86dbe86eb40832b48541d06ca2cd5d10c92bf664
3
+ metadata.gz: ec0a9a51e769f21160a57b01e91f80539e314b80
4
+ data.tar.gz: 042c169698f2eff51239004cce48d3d8b7585fc7
5
5
  SHA512:
6
- metadata.gz: fddddfdbb15ec3c6ca28b9018e0cbf7befe144554fdb4912c3a7f01cf115db4a1f8e6de99e5fa6a1203eabe825e1fdfa79f46047d854dc8783ab8c841c92d344
7
- data.tar.gz: 75a984de2c5428cf80760fad89615c69d01bb5ba3f01c01259bdcda737799f9e3d3875887021d97551bbac5825b31e90737f84d015435343c6142c6821098a6c
6
+ metadata.gz: 21e34b3d10f5af30ae5ea275a69630e946a2a4bfd0df572a13d621a8bd6aaa091ae0c79e7481b2211c56b9fa949de7dd5d9e2b686d9ca4b317c8e98e7d53add4
7
+ data.tar.gz: 406b0243a737fb93dd22615a4ba4fb78d1d1df96f4c337175739cabe82a939cd1755e6e510578b19a68f2e0ba4879deb3a450474893737f4ab57cf8fd6d267db
@@ -2,6 +2,6 @@
2
2
  require 'project_monitor_stat'
3
3
 
4
4
  config = ProjectMonitorStat::Config.parse_options(argv: ARGV)
5
- result = ProjectMonitorStat::Fetcher.new(url: config.url).fetch
6
- ProjectMonitorStat::Reporter.new(config: config, result: result).report
7
-
5
+ result = ProjectMonitorStat::Fetcher.new(config: config).fetch
6
+ reporter = ProjectMonitorStat::Reporter.new(config: config, result: result)
7
+ reporter.report
@@ -5,40 +5,37 @@ module ProjectMonitorStat
5
5
  class Config
6
6
  def self.parse_options(argv: raise)
7
7
  tag = argv[0] || raise(ArgumentError.new('You must provide a tag'))
8
- url = 'http://pulse.pivotallabs.com/projects.json'
9
- session_id = nil
10
- success_cmd = nil
11
- building_cmd = nil
12
- fail_cmd = nil
8
+ instance = new
9
+ instance.base_url = 'http://pulse.pivotallabs.com/projects.json'
13
10
 
14
11
  opt_parser = OptionParser.new do |opts|
15
12
  opts.banner = "Usage: #{File.basename(__FILE__)} tag [options]"
16
13
 
17
14
  opts.on('-sCOMMAND', '--success COMMAND',
18
15
  'Success command') do |s|
19
- success_cmd = s
16
+ instance.success_cmd = s
20
17
  end
21
18
 
22
19
  opts.on('-bCOMMAND', '--building COMMAND',
23
20
  'Building command') do |b|
24
- building_cmd = b
21
+ instance.building_cmd = b
25
22
  end
26
23
 
27
24
  opts.on('-fCOMMAND', '--fail COMMAND',
28
25
  'Fail command') do |s|
29
- fail_cmd = s
26
+ instance.fail_cmd = s
30
27
  end
31
28
 
32
29
  opts.on('-u', '--url',
33
30
  'Your projectMonitor url ',
34
- " Default: #{url}") do |u|
35
- url = u
31
+ " Default: #{instance.base_url}") do |u|
32
+ instance.base_url = u
36
33
  end
37
34
 
38
- opts.on('-i', '--session_id []',
39
- 'Your _projectmonitor_session cookie if outside a whitelisted IP ',
40
- ' Get this from your browser cookie inspector') do |i|
41
- session_id = i
35
+ opts.on('-c', '--cookies []',
36
+ 'Your cookie string',
37
+ ' Get this from your browser cookie inspector') do |c|
38
+ instance.cookie = c
42
39
  end
43
40
 
44
41
  opts.on_tail('-h', '--help', 'Show this message') do
@@ -54,19 +51,10 @@ module ProjectMonitorStat
54
51
 
55
52
  opt_parser.parse!(argv)
56
53
 
57
- new(url: url, tag: tag, success_cmd: success_cmd, building_cmd: building_cmd, fail_cmd: fail_cmd, session_id: session_id)
54
+ instance
58
55
  end
59
56
 
60
- attr_reader :success_cmd, :building_cmd, :fail_cmd, :session_id
61
-
62
- def initialize(url: raise, tag: raise, success_cmd: raise, building_cmd: raise, fail_cmd: raise, session_id: nil)
63
- @base_url = url
64
- @tag = tag
65
- @success_cmd = success_cmd
66
- @building_cmd = building_cmd
67
- @fail_cmd = fail_cmd
68
- @session_id = session_id
69
- end
57
+ attr_accessor :base_url, :success_cmd, :building_cmd, :fail_cmd, :cookie
70
58
 
71
59
  def url
72
60
  uri = URI(base_url)
@@ -76,6 +64,6 @@ module ProjectMonitorStat
76
64
 
77
65
  private
78
66
 
79
- attr_reader :base_url, :tag
67
+ attr_reader :tag
80
68
  end
81
69
  end
@@ -3,12 +3,12 @@ require 'json'
3
3
 
4
4
  module ProjectMonitorStat
5
5
  class Fetcher
6
- def initialize(url: raise, session_id: nil)
7
- @url = url
6
+ def initialize(config: raise)
7
+ @config = config
8
8
  end
9
9
 
10
10
  def fetch
11
- json = Util.get(url)
11
+ json = Util.get(url: config.url, cookie: config.cookie)
12
12
 
13
13
  begin
14
14
  projects = JSON.parse(json)
@@ -40,6 +40,6 @@ module ProjectMonitorStat
40
40
 
41
41
  private
42
42
 
43
- attr_reader :url
43
+ attr_reader :config
44
44
  end
45
45
  end
@@ -1,16 +1,17 @@
1
1
  module ProjectMonitorStat
2
2
  class Util
3
3
  def self.puts(*args)
4
- IO.puts(*args)
4
+ Kernel.puts(*args)
5
5
  end
6
6
 
7
7
  def self.system(*args)
8
8
  Kernel.system(*args)
9
9
  end
10
10
 
11
- def self.get(url)
11
+ def self.get(url: raise, cookie: nil)
12
12
  uri = URI(url)
13
13
  request = Net::HTTP::Get.new(uri)
14
+ request.add_field('Cookie', cookie) if cookie
14
15
 
15
16
  response = Net::HTTP.start(uri.hostname, uri.port) do |http|
16
17
  http.request(request)
@@ -1,5 +1,5 @@
1
1
  module ProjectMonitorStat
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
 
4
4
  autoload :Config, 'project_monitor_stat/config'
5
5
  autoload :Fetcher, 'project_monitor_stat/fetcher'
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.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Young