cmon 0.0.1.alpha1 → 0.0.1.alpha2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/bin/cmon +3 -10
  2. data/lib/cmon.rb +37 -0
  3. data/lib/cmon/version.rb +1 -1
  4. metadata +5 -5
data/bin/cmon CHANGED
@@ -1,13 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
-
3
- # Check if an older version of bundler is installed
2
+ lib = File.expand_path(File.dirname(__FILE__)+'/../lib/')
3
+ $:.unshift lib unless $:.include?(lib)
4
4
  require 'cmon'
5
5
 
6
- puts "cmon test"
7
- if ARGV[0] == "t"
8
- puts "exiting well"
9
- exit 0
10
- else
11
- puts "exiting badly"
12
- exit 1
13
- end
6
+ CMon::Runner.run(ARGV[0])
@@ -1,4 +1,41 @@
1
1
  require 'cmon/version'
2
2
 
3
3
  module CMon
4
+ class Command
5
+ def initialize(cmd)
6
+ @command = cmd
7
+ @output = `#{cmd}`
8
+ end
9
+ attr_reader :command, :output
10
+
11
+ def should_not_include(text)
12
+ if self.output.include?(text)
13
+ puts "CMon assumptions failed"
14
+ puts "Should Not Include #{text.inspect}"
15
+ puts
16
+ puts "Output:"
17
+ puts self.output
18
+ exit 1
19
+ end
20
+ end
21
+ end
22
+
23
+ class Runner
24
+
25
+ def self.run(path)
26
+ runner = self.new
27
+ runner.run(path)
28
+ end
29
+
30
+ def run(file)
31
+ steps = File.read(file)
32
+ self.instance_eval(steps)
33
+ exit 0
34
+ end
35
+
36
+ def output_from(cmd)
37
+ CMon::Command.new(cmd)
38
+ end
39
+ end
40
+
4
41
  end
@@ -1,3 +1,3 @@
1
1
  module CMon
2
- VERSION = "0.0.1.alpha1"
2
+ VERSION = "0.0.1.alpha2"
3
3
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmon
3
3
  version: !ruby/object:Gem::Version
4
- hash: -3702664362
4
+ hash: -3702664368
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
9
  - 1
10
10
  - alpha
11
- - 1
12
- version: 0.0.1.alpha1
11
+ - 2
12
+ version: 0.0.1.alpha2
13
13
  platform: ruby
14
14
  authors:
15
15
  - Matthew Rudy Jacobs
@@ -21,7 +21,7 @@ date: 2011-06-15 00:00:00 +08:00
21
21
  default_executable:
22
22
  dependencies: []
23
23
 
24
- description: Cron + Monitoring
24
+ description: Write a simple monitoring script to be executed by cron, using an rspec-like assertion syntax
25
25
  email:
26
26
  - matthewrudyjacobs+cmon@gmail.com
27
27
  executables:
@@ -69,6 +69,6 @@ rubyforge_project:
69
69
  rubygems_version: 1.6.2
70
70
  signing_key:
71
71
  specification_version: 3
72
- summary: Monitoring with Cron
72
+ summary: Cron Enabled Monitoring
73
73
  test_files: []
74
74