route_dog 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,10 +1,12 @@
1
1
  RouteDog for Ruby on Rails
2
2
  ==========================
3
3
 
4
+ **It only works in Rails 3 for now, Rails 2.3 support is comming.**
5
+
4
6
  RouteDog is a small collection of Rack middlewares to be used with your Ruby On Rails project as a helper to identify not tested routes.
5
7
 
6
8
  The way that RouteDog knows if you are testing a route is through the Watcher middleware which only runs in Test Environment
7
- and collects the routes that you've called from your **Integrational Tests** (See Note About Integrational Tests).
9
+ and collects the routes that you've called from your **Integration Tests** (See Note About Integration Tests).
8
10
 
9
11
  The way that RouteDog shows to you a warning is through a middleware called Notifier which only runs in Developement Enviroment.
10
12
 
@@ -21,7 +23,7 @@ the coverage results but you want to live the experience using the application a
21
23
 
22
24
  * You were a Rumble Guy that thought that tests were not necessary? ok, may be this is for you if you don't want to drop all your code.
23
25
 
24
- * Even if you are not planning to write Integrational Tests you can take advantage of the route defined, tested and used report.
26
+ * Even if you are not planning to write Integration Tests you can take advantage of the route defined, tested and used report.
25
27
 
26
28
 
27
29
  Usage
@@ -29,8 +31,6 @@ Usage
29
31
 
30
32
  ### Instalation ###
31
33
 
32
- sudo gem install route_dog
33
-
34
34
  If you are using Bundler
35
35
 
36
36
  gem 'route_dog'
@@ -42,7 +42,7 @@ If you are not using Bundler
42
42
 
43
43
  ### Get a report of defined, implemented and tested routes ###
44
44
 
45
- Run your *Integrational Tests* and then call a report
45
+ Run your *Integration Tests* and then call a report
46
46
 
47
47
  rake route_dog:report
48
48
 
@@ -67,14 +67,28 @@ very uncommon, but here is the command.
67
67
  TODO
68
68
  ----
69
69
 
70
+ * Rails 2.3 support.
70
71
  * Show Notifier warnings for other than regular html responses.
71
72
  * Generator to extract route_dog.yml config file, so you can disable the middlewares you don't want.
72
73
 
73
74
  Notes
74
75
  -----
75
76
 
76
- * Watcher middleware don't work with Controller Tests, it only works with Integrational Tests.
77
+ * Watcher middleware don't work with Controller Tests, it only works with Integration Tests.
78
+
79
+ DEVELOPMENT
80
+ -----------
81
+
82
+ If you are planning to contribute to this gem, please read the following advice.
83
+
84
+ Once you have pulled the source code do this...
85
+
86
+ cd test/mock_app
87
+ bundle install
88
+
89
+ Then you can run the tests...
77
90
 
91
+ rake
78
92
 
79
93
  Copyright
80
94
  ---------
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.3.0
data/lib/route_dog.rb CHANGED
@@ -16,9 +16,11 @@ module RouteDog
16
16
  File.open(config_file, "w+") {|file| file.puts(routes.to_yaml) }
17
17
  end
18
18
 
19
+ # When method.nil? it respond to all methods.
19
20
  def self.route_tested?(controller, action, method)
20
21
  begin
21
- load_watched_routes[controller.to_s.downcase][action.to_s.downcase].include?(method.to_s.downcase)
22
+ available_methods = load_watched_routes[controller.to_s.downcase][action.to_s.downcase]
23
+ method.nil? ? available_methods.any? : available_methods.include?(method.to_s.downcase)
22
24
  rescue
23
25
  false
24
26
  end
@@ -13,9 +13,6 @@ gem 'sqlite3-ruby', :require => 'sqlite3'
13
13
  # Deploy with Capistrano
14
14
  # gem 'capistrano'
15
15
 
16
- # To use debugger
17
- gem 'ruby-debug'
18
-
19
16
  # Bundle the extra gems:
20
17
  # gem 'bj'
21
18
  # gem 'nokogiri'
data/test/test_helper.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require 'rubygems'
2
- require 'ruby-debug'
3
2
  require 'contest'
4
3
  require 'nokogiri'
5
4
 
@@ -22,4 +22,21 @@ class RouteDogTest < Test::Unit::TestCase
22
22
  assert_equal Admin::Blogs::PostsController, RouteDog.constantize_controller_str("admin/blogs/posts")
23
23
  end
24
24
  end
25
+
26
+ context "Identify tested routes" do
27
+
28
+ def write_tested_routes_yaml(hash)
29
+ File.open(RouteDog.config_file, "w+") {|file| file.puts(hash.to_yaml) }
30
+ end
31
+
32
+ test "identify routes that respond to get method" do
33
+ write_tested_routes_yaml("products" => {"index" => ["get"]})
34
+ assert_equal true, RouteDog.route_tested?(:products, :index, :get)
35
+ end
36
+
37
+ test "identify routes that respond to any method" do
38
+ write_tested_routes_yaml("products" => {"index" => ["get"]})
39
+ assert_equal true, RouteDog.route_tested?(:products, :index, nil)
40
+ end
41
+ end
25
42
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: route_dog
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 3
5
5
  prerelease: false
6
6
  segments:
7
7
  - 2
8
- - 2
8
+ - 3
9
9
  - 0
10
- version: 2.2.0
10
+ version: 2.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alvaro Gil
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-03 00:00:00 -02:00
18
+ date: 2011-04-12 00:00:00 -03:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -91,7 +91,6 @@ extra_rdoc_files:
91
91
  - LICENSE
92
92
  - README.md
93
93
  files:
94
- - .gitignore
95
94
  - LICENSE
96
95
  - README.md
97
96
  - Rakefile
@@ -109,7 +108,6 @@ files:
109
108
  - test/integration/users_controller_test.rb
110
109
  - test/mock_app/.gitignore
111
110
  - test/mock_app/Gemfile
112
- - test/mock_app/Gemfile.lock
113
111
  - test/mock_app/Rakefile
114
112
  - test/mock_app/app/controllers/admin/blogs/posts_controller.rb
115
113
  - test/mock_app/app/controllers/admin/project_settings_controller.rb
@@ -162,8 +160,8 @@ homepage: http://github.com/zevarito/route_dog
162
160
  licenses: []
163
161
 
164
162
  post_install_message:
165
- rdoc_options:
166
- - --charset=UTF-8
163
+ rdoc_options: []
164
+
167
165
  require_paths:
168
166
  - lib
169
167
  required_ruby_version: !ruby/object:Gem::Requirement
data/.gitignore DELETED
@@ -1 +0,0 @@
1
- test/mock_app/config/route_dog_routes.yml
@@ -1,94 +0,0 @@
1
- PATH
2
- remote: /Users/zevarito/Sources/zevarito/route_dog
3
- specs:
4
- route_dog (2.1.1)
5
- rack
6
- rails (>= 2.3.8)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- abstract (1.0.0)
12
- actionmailer (3.0.1)
13
- actionpack (= 3.0.1)
14
- mail (~> 2.2.5)
15
- actionpack (3.0.1)
16
- activemodel (= 3.0.1)
17
- activesupport (= 3.0.1)
18
- builder (~> 2.1.2)
19
- erubis (~> 2.6.6)
20
- i18n (~> 0.4.1)
21
- rack (~> 1.2.1)
22
- rack-mount (~> 0.6.12)
23
- rack-test (~> 0.5.4)
24
- tzinfo (~> 0.3.23)
25
- activemodel (3.0.1)
26
- activesupport (= 3.0.1)
27
- builder (~> 2.1.2)
28
- i18n (~> 0.4.1)
29
- activerecord (3.0.1)
30
- activemodel (= 3.0.1)
31
- activesupport (= 3.0.1)
32
- arel (~> 1.0.0)
33
- tzinfo (~> 0.3.23)
34
- activeresource (3.0.1)
35
- activemodel (= 3.0.1)
36
- activesupport (= 3.0.1)
37
- activesupport (3.0.1)
38
- arel (1.0.1)
39
- activesupport (~> 3.0.0)
40
- builder (2.1.2)
41
- columnize (0.3.1)
42
- configuration (1.1.0)
43
- erubis (2.6.6)
44
- abstract (>= 1.0.0)
45
- i18n (0.4.1)
46
- launchy (0.3.7)
47
- configuration (>= 0.0.5)
48
- rake (>= 0.8.1)
49
- linecache (0.43)
50
- mail (2.2.7)
51
- activesupport (>= 2.3.6)
52
- mime-types
53
- treetop (>= 1.4.5)
54
- mime-types (1.16)
55
- polyglot (0.3.1)
56
- rack (1.2.1)
57
- rack-mount (0.6.13)
58
- rack (>= 1.0.0)
59
- rack-test (0.5.6)
60
- rack (>= 1.0)
61
- rails (3.0.1)
62
- actionmailer (= 3.0.1)
63
- actionpack (= 3.0.1)
64
- activerecord (= 3.0.1)
65
- activeresource (= 3.0.1)
66
- activesupport (= 3.0.1)
67
- bundler (~> 1.0.0)
68
- railties (= 3.0.1)
69
- railties (3.0.1)
70
- actionpack (= 3.0.1)
71
- activesupport (= 3.0.1)
72
- rake (>= 0.8.4)
73
- thor (~> 0.14.0)
74
- rake (0.8.7)
75
- ruby-debug (0.10.3)
76
- columnize (>= 0.1)
77
- ruby-debug-base (~> 0.10.3.0)
78
- ruby-debug-base (0.10.3)
79
- linecache (>= 0.3)
80
- sqlite3-ruby (1.3.1)
81
- thor (0.14.3)
82
- treetop (1.4.8)
83
- polyglot (>= 0.3.1)
84
- tzinfo (0.3.23)
85
-
86
- PLATFORMS
87
- ruby
88
-
89
- DEPENDENCIES
90
- launchy
91
- rails (= 3.0.1)
92
- route_dog!
93
- ruby-debug
94
- sqlite3-ruby