hallmonitor 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3e16cfca32beb420afc940491d0018e219dc404a
4
+ data.tar.gz: a672e26fc13b15643fedb6e7f8a74e8b16d39ac2
5
+ SHA512:
6
+ metadata.gz: 108ae8c19ae8b5165cd340a75f4f85623c3dee57cca01c70e83e4442e9b7851691d4a675af12fc70bf801a942374dccc45187d04d2ab14d1a810acf10c26e163
7
+ data.tar.gz: 5c5c916b125ec7cebf4c30daad286276212ed4a037cdcbec56f5e2857d833fbbd00d4d192afc681bad38aa82d2ca2b7b16f2fc2e3b6492be2c3f5953ca8f8453
data/Rakefile CHANGED
@@ -2,14 +2,10 @@
2
2
 
3
3
  require 'rubygems'
4
4
  require 'bundler/gem_tasks'
5
- require 'rake/testtask'
6
- Rake::TestTask.new(:test) do |test|
7
- test.libs << 'lib' << 'test'
8
- test.pattern = 'test/**/*_test.rb'
9
- test.verbose = true
10
- end
11
5
 
12
- task :default => :test
6
+ require 'rspec/core/rake_task'
7
+ RSpec::Core::RakeTask.new(:spec)
8
+ task :default => :spec
13
9
 
14
10
  require 'rdoc/task'
15
11
  Rake::RDocTask.new do |rdoc|
data/hallmonitor.gemspec CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
23
23
 
24
24
  s.add_runtime_dependency("json", [">= 0"])
25
25
  s.add_runtime_dependency("statsd-ruby", [">= 0"])
26
- s.add_development_dependency("shoulda", [">= 0"])
26
+ s.add_development_dependency("rspec", [">= 2.14"])
27
27
  s.add_development_dependency("rdoc", [">= 0"])
28
28
  s.add_development_dependency("bundler", ["~> 1.3"])
29
29
  s.add_development_dependency("pry-debugger", [">= 0"])
@@ -65,9 +65,10 @@ module Hallmonitor
65
65
  def watch(name)
66
66
  event = Hallmonitor::TimedEvent.new(name)
67
67
  event.start = Time.now
68
- yield(event)
68
+ retval = yield(event)
69
69
  event.stop = Time.now
70
70
  emit(event)
71
+ retval
71
72
  end
72
73
  end
73
74
  end
@@ -1,8 +1,8 @@
1
1
  module Hallmonitor
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 0
5
- PATCH = 2
4
+ MINOR = 1
5
+ PATCH = 0
6
6
  BUILD = nil
7
7
 
8
8
  STRING = [MAJOR,MINOR,PATCH,BUILD].compact.join(".")
@@ -0,0 +1,62 @@
1
+ require 'spec_helper'
2
+
3
+ class Thing
4
+ include Hallmonitor::Monitored
5
+ end
6
+
7
+ describe Hallmonitor::Monitored do
8
+ subject {Thing.new}
9
+
10
+ describe "#watch" do
11
+ let(:retval) {"Hello World"}
12
+ let(:name) {"foo"}
13
+ before do
14
+ expect(Hallmonitor::Outputter).to receive(:output).with{|x|x.name == name}
15
+ end
16
+ it "should return the value the block returns" do
17
+ value = subject.watch(name) do
18
+ retval
19
+ end
20
+ expect(value).to eq(retval)
21
+ end
22
+ end
23
+
24
+ describe "#emit" do
25
+ describe "with a string parameter" do
26
+ let(:name) {"foo"}
27
+ before do
28
+ expect(Hallmonitor::Outputter).to receive(:output).with{|x|x.name == name}
29
+ end
30
+
31
+ it "should emit an event with the passed in name" do
32
+ subject.emit(name)
33
+ end
34
+ end
35
+
36
+ describe "with a block" do
37
+ it "should yield to the block" do
38
+ yielded = false
39
+ var = nil
40
+ subject.emit("foo") do |thing|
41
+ var = thing
42
+ yielded = true
43
+ end
44
+ expect(var).to_not be_nil
45
+ expect(var.name).to eq("foo")
46
+ expect(yielded).to be_true
47
+ end
48
+ end
49
+
50
+ describe 'with an event parameter' do
51
+ let(:event) {Hallmonitor::Event.new("bar")}
52
+ before do
53
+ expect(Hallmonitor::Outputter).to receive(:output).with(event)
54
+ end
55
+
56
+ it "should emit the passed in event" do
57
+ subject.emit(event)
58
+ end
59
+ end
60
+
61
+ end
62
+ end
@@ -7,12 +7,8 @@ rescue Bundler::BundlerError => e
7
7
  $stderr.puts "Run `bundle install` to install missing gems"
8
8
  exit e.status_code
9
9
  end
10
- require 'test/unit'
11
- require 'shoulda'
10
+ require 'rspec'
12
11
 
13
12
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
13
  $LOAD_PATH.unshift(File.dirname(__FILE__))
15
14
  require 'hallmonitor'
16
-
17
- class Test::Unit::TestCase
18
- end
metadata CHANGED
@@ -1,84 +1,74 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hallmonitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Chris TenHarmsel
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-01-29 00:00:00.000000000 Z
11
+ date: 2014-05-08 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: json
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: statsd-ruby
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
- name: shoulda
42
+ name: rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
- version: '0'
47
+ version: '2.14'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
- version: '0'
54
+ version: '2.14'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rdoc
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: bundler
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,33 +83,29 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: pry-debugger
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: rake
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  description: Hallmonitor is a simple event monitoring framework in Ruby
@@ -132,7 +117,6 @@ extra_rdoc_files: []
132
117
  files:
133
118
  - .document
134
119
  - .gitignore
135
- - .rvmrc
136
120
  - Gemfile
137
121
  - LICENSE.txt
138
122
  - README.md
@@ -149,39 +133,32 @@ files:
149
133
  - lib/hallmonitor/outputters/statsd_outputter.rb
150
134
  - lib/hallmonitor/timed_event.rb
151
135
  - lib/hallmonitor/version.rb
152
- - test/helper.rb
153
- - test/monitored_test.rb
136
+ - spec/monitored_spec.rb
137
+ - spec/spec_helper.rb
154
138
  homepage: http://github.com/epchris/hallmonitor
155
139
  licenses:
156
140
  - MIT
141
+ metadata: {}
157
142
  post_install_message:
158
143
  rdoc_options: []
159
144
  require_paths:
160
145
  - lib
161
146
  required_ruby_version: !ruby/object:Gem::Requirement
162
- none: false
163
147
  requirements:
164
- - - ! '>='
148
+ - - '>='
165
149
  - !ruby/object:Gem::Version
166
150
  version: '0'
167
- segments:
168
- - 0
169
- hash: 4277465869817980357
170
151
  required_rubygems_version: !ruby/object:Gem::Requirement
171
- none: false
172
152
  requirements:
173
- - - ! '>='
153
+ - - '>='
174
154
  - !ruby/object:Gem::Version
175
155
  version: '0'
176
- segments:
177
- - 0
178
- hash: 4277465869817980357
179
156
  requirements: []
180
157
  rubyforge_project:
181
- rubygems_version: 1.8.23
158
+ rubygems_version: 2.0.14
182
159
  signing_key:
183
- specification_version: 3
160
+ specification_version: 4
184
161
  summary: Simple Ruby Event Monitoring
185
162
  test_files:
186
- - test/helper.rb
187
- - test/monitored_test.rb
163
+ - spec/monitored_spec.rb
164
+ - spec/spec_helper.rb
data/.rvmrc DELETED
@@ -1,81 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # This is an RVM Project .rvmrc file, used to automatically load the ruby
4
- # development environment upon cd'ing into the directory
5
-
6
- # First we specify our desired <ruby>[@<gemset>], the @gemset name is optional.
7
- environment_id="ruby-1.9.3-p0@hallmonitor"
8
-
9
- #
10
- # Uncomment the following lines if you want to verify rvm version per project
11
- #
12
- # rvmrc_rvm_version="1.10.2" # 1.10.1 seams as a safe start
13
- # eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || {
14
- # echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading."
15
- # return 1
16
- # }
17
- #
18
-
19
- #
20
- # Uncomment following line if you want options to be set only for given project.
21
- #
22
- # PROJECT_JRUBY_OPTS=( --1.9 )
23
- #
24
- # The variable PROJECT_JRUBY_OPTS requires the following to be run in shell:
25
- #
26
- # chmod +x ${rvm_path}/hooks/after_use_jruby_opts
27
- #
28
-
29
- #
30
- # First we attempt to load the desired environment directly from the environment
31
- # file. This is very fast and efficient compared to running through the entire
32
- # CLI and selector. If you want feedback on which environment was used then
33
- # insert the word 'use' after --create as this triggers verbose mode.
34
- #
35
- if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
36
- && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]]
37
- then
38
- \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
39
-
40
- if [[ -s "${rvm_path:-$HOME/.rvm}/hooks/after_use" ]]
41
- then
42
- . "${rvm_path:-$HOME/.rvm}/hooks/after_use"
43
- fi
44
- else
45
- # If the environment file has not yet been created, use the RVM CLI to select.
46
- if ! rvm --create "$environment_id"
47
- then
48
- echo "Failed to create RVM environment '${environment_id}'."
49
- return 1
50
- fi
51
- fi
52
-
53
- #
54
- # If you use an RVM gemset file to install a list of gems (*.gems), you can have
55
- # it be automatically loaded. Uncomment the following and adjust the filename if
56
- # necessary.
57
- #
58
- # filename=".gems"
59
- # if [[ -s "$filename" ]]
60
- # then
61
- # rvm gemset import "$filename" | grep -v already | grep -v listed | grep -v complete | sed '/^$/d'
62
- # fi
63
-
64
- # If you use bundler, this might be useful to you:
65
- # if [[ -s Gemfile ]] && ! command -v bundle >/dev/null
66
- # then
67
- # printf "%b" "The rubygem 'bundler' is not installed. Installing it now.\n"
68
- # gem install bundler
69
- # fi
70
- # if [[ -s Gemfile ]] && command -v bundle
71
- # then
72
- # bundle install
73
- # fi
74
-
75
- if [[ $- == *i* ]] # check for interactive shells
76
- then
77
- echo "Using: $(tput setaf 2)$GEM_HOME$(tput sgr0)" # show the user the ruby and gemset they are using in green
78
- else
79
- echo "Using: $GEM_HOME" # don't use colors in interactive shells
80
- fi
81
-
@@ -1,17 +0,0 @@
1
- require 'helper'
2
-
3
- class MonitoredTest < Test::Unit::TestCase
4
- class TestMe
5
- include Hallmonitor::Monitored
6
- end
7
- context "A class that includes Monitored module" do
8
-
9
- setup do
10
- @test_me = TestMe.new
11
- end
12
-
13
- should "add an emit method to instances" do
14
- @test_me.respond_to?(:emit)
15
- end
16
- end
17
- end