rails-pulse 0.4.6 → 0.4.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,6 +14,27 @@ h2. Requirements
14
14
 
15
15
  h2. Installation
16
16
 
17
+ h3. Rails 3.x
18
+
19
+ Just add the gem to your @Gemfile@ and then @bundle install@:
20
+
21
+ <pre>
22
+ <code>
23
+ gem 'rails-pulse'
24
+ </code>
25
+ </pre>
26
+
27
+ In your @config/routes.rb@:
28
+
29
+ <pre>
30
+ <code>
31
+ pulse '/my/pulse/url'
32
+ </code>
33
+ </pre>
34
+
35
+
36
+ h3. Rails 2.x
37
+
17
38
  In your @config/environment.rb@:
18
39
 
19
40
  <pre>
File without changes
@@ -0,0 +1,17 @@
1
+ module Pulse
2
+ module Routes
3
+ def pulse(path)
4
+ if Rails::VERSION::MAJOR == 2
5
+ connect path, :controller => 'pulse', :action => 'pulse'
6
+ else
7
+ match path => "pulse#pulse"
8
+ end
9
+ end
10
+ end
11
+ end
12
+
13
+ if Rails::VERSION::MAJOR == 3
14
+ ActionDispatch::Routing::Mapper.send :include, Pulse::Routes
15
+ else # fallback to 2.x stuff
16
+ ActionController::Routing::RouteSet::Mapper.send :include, Pulse::Routes
17
+ end
@@ -0,0 +1,3 @@
1
+ require 'pulse/controller'
2
+ require 'pulse/helper'
3
+ require 'pulse/routes'
@@ -0,0 +1,49 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+
3
+ describe "Pulse" do
4
+
5
+ before(:each) do
6
+ @controller = PulseController.new
7
+ @request = ActionController::TestRequest.new
8
+ @response = ActionController::TestResponse.new
9
+ ActionController::Routing::Routes.draw do |map|
10
+ map.pulse 'pulse'
11
+ end
12
+ @successful_result_set = mock(:result_set, :num_rows => 1)
13
+ @unsuccessful_result_set = mock(:result_set, :num_rows => 0)
14
+ @connection = mock(:connection)
15
+ end
16
+
17
+ it "should recognize the pulse route" do
18
+ params_from(:get, "/pulse").should == {:controller => "pulse", :action => "pulse"}
19
+ end
20
+
21
+ describe "response" do
22
+ before(:each) do
23
+ ActiveRecord::Base.should_receive(:connection).and_return(@connection)
24
+ end
25
+
26
+ describe "when in a healthy state" do
27
+ before(:each) do
28
+ @connection.should_receive(:execute).with("select 1 from dual").and_return(@successful_result_set)
29
+ end
30
+
31
+ it "should return a 200" do
32
+ get 'pulse'
33
+ @response.should be_success
34
+ end
35
+ end
36
+
37
+ describe "when in an unhealthy state" do
38
+ before(:each) do
39
+ @connection.should_receive(:execute).with("select 1 from dual").and_return(@unsuccessful_result_set)
40
+ end
41
+
42
+ it "should return a 500" do
43
+ get 'pulse'
44
+ @response.should_not be_success
45
+ end
46
+ end
47
+ end
48
+
49
+ end
@@ -0,0 +1,5 @@
1
+ --colour
2
+ --format s
3
+ --loadby mtime
4
+ --reverse
5
+ --backtrace
@@ -0,0 +1,32 @@
1
+ $LOAD_PATH.unshift 'lib/'
2
+
3
+ require 'rubygems'
4
+ require 'multi_rails_init'
5
+
6
+ #mock out some rails related stuff
7
+
8
+ RAILS_ROOT='.'
9
+
10
+ def require_dependency(foo)
11
+ nil
12
+ end
13
+
14
+ class ApplicationController < ActionController::Base
15
+ helper :all
16
+ end
17
+
18
+ def params_from(method, path)
19
+ ActionController::Routing::Routes.recognize_path(path, :method => method)
20
+ end
21
+
22
+ begin
23
+ require 'spec'
24
+ require 'spec/rails'
25
+ rescue LoadError
26
+ gem 'rspec'
27
+ gem 'rspec-rails'
28
+ require 'spec'
29
+ require 'spec/rails'
30
+ end
31
+
32
+ require 'pulse'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-pulse
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 4
9
- - 6
10
- version: 0.4.6
9
+ - 7
10
+ version: 0.4.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Paul Gross
@@ -18,28 +18,43 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2011-06-23 00:00:00 -04:00
21
+ date: 2012-01-10 00:00:00 -05:00
22
22
  default_executable:
23
- dependencies: []
24
-
23
+ dependencies:
24
+ - !ruby/object:Gem::Dependency
25
+ name: rails
26
+ prerelease: false
27
+ requirement: &id001 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ hash: 3
33
+ segments:
34
+ - 0
35
+ version: "0"
36
+ type: :runtime
37
+ version_requirements: *id001
25
38
  description: |-
26
39
  Adds a pulse URL that pings the DB to a Rails app.
27
- This is an improved version of the `pulse` gem.
40
+ This is the maintained version of the `pulse` gem.
28
41
  email: jnewland@gmail.com
29
42
  executables: []
30
43
 
31
44
  extensions: []
32
45
 
33
- extra_rdoc_files: []
34
-
46
+ extra_rdoc_files:
47
+ - README.textile
35
48
  files:
36
- - init.rb
37
- - lib/pulse.rb
38
- - lib/pulse_controller.rb
39
- - lib/pulse_helper.rb
40
- - lib/routes.rb
41
49
  - README.textile
42
- has_rdoc: true
50
+ - lib/pulse/controller.rb
51
+ - lib/pulse/helper.rb
52
+ - lib/pulse/routes.rb
53
+ - lib/rails-pulse.rb
54
+ - spec/pulse_spec.rb
55
+ - spec/spec.opts
56
+ - spec/spec_helper.rb
57
+ has_rdoc: false
43
58
  homepage: http://github.com/jnewland/pulse
44
59
  licenses: []
45
60
 
@@ -73,5 +88,7 @@ rubygems_version: 1.6.2
73
88
  signing_key:
74
89
  specification_version: 3
75
90
  summary: Adds a pulse URL that pings the DB to a Rails app.
76
- test_files: []
77
-
91
+ test_files:
92
+ - spec/pulse_spec.rb
93
+ - spec/spec.opts
94
+ - spec/spec_helper.rb
data/init.rb DELETED
@@ -1 +0,0 @@
1
- require File.dirname(__FILE__) + "/lib/pulse"
@@ -1,3 +0,0 @@
1
- require File.dirname(__FILE__) + '/pulse_controller'
2
- require File.dirname(__FILE__) + '/pulse_helper'
3
- require File.dirname(__FILE__) + '/routes'
@@ -1,9 +0,0 @@
1
- module Pulse
2
- module Routes
3
- def pulse(path)
4
- connect path, :controller => 'pulse', :action => 'pulse'
5
- end
6
- end
7
- end
8
-
9
- ActionController::Routing::RouteSet::Mapper.send :include, Pulse::Routes