hallmonitor 0.0.2 → 0.1.0

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 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