query_diet 0.3.1 → 0.4.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.
Files changed (80) hide show
  1. data/.gitignore +5 -0
  2. data/README.rdoc +20 -10
  3. data/Rakefile +36 -23
  4. data/lib/query_diet/active_record_ext.rb +4 -4
  5. data/lib/query_diet/logger.rb +6 -5
  6. data/lib/query_diet/rack/reset_logger.rb +26 -0
  7. data/lib/query_diet/version.rb +3 -0
  8. data/lib/query_diet/widget.rb +14 -13
  9. data/lib/query_diet.rb +1 -2
  10. data/query_diet.gemspec +15 -64
  11. data/spec/rails-2.3/Gemfile +9 -0
  12. data/spec/rails-2.3/Rakefile +11 -0
  13. data/spec/rails-2.3/app_root/config/database.yml +4 -0
  14. data/spec/{spec.opts → rails-2.3/spec.opts} +1 -0
  15. data/spec/{spec_helper.rb → rails-2.3/spec_helper.rb} +5 -2
  16. data/spec/rails-3.0/.rspec +2 -0
  17. data/spec/rails-3.0/Gemfile +9 -0
  18. data/spec/rails-3.0/Rakefile +10 -0
  19. data/spec/rails-3.0/app_root/.gitignore +4 -0
  20. data/spec/rails-3.0/app_root/config/application.rb +32 -0
  21. data/spec/rails-3.0/app_root/config/boot.rb +13 -0
  22. data/spec/rails-3.0/app_root/config/database.yml +4 -0
  23. data/spec/rails-3.0/app_root/config/environment.rb +5 -0
  24. data/spec/rails-3.0/app_root/config/environments/test.rb +35 -0
  25. data/spec/rails-3.0/app_root/config/initializers/backtrace_silencers.rb +7 -0
  26. data/spec/rails-3.0/app_root/config/initializers/inflections.rb +10 -0
  27. data/spec/rails-3.0/app_root/config/initializers/mime_types.rb +5 -0
  28. data/spec/rails-3.0/app_root/config/initializers/secret_token.rb +7 -0
  29. data/spec/rails-3.0/app_root/config/initializers/session_store.rb +8 -0
  30. data/spec/rails-3.0/app_root/config/routes.rb +58 -0
  31. data/spec/rails-3.0/app_root/script/rails +6 -0
  32. data/spec/rails-3.0/spec_helper.rb +27 -0
  33. data/spec/rails-3.2/.rspec +2 -0
  34. data/spec/rails-3.2/Gemfile +10 -0
  35. data/spec/rails-3.2/Rakefile +10 -0
  36. data/spec/rails-3.2/app_root/.gitignore +4 -0
  37. data/spec/rails-3.2/app_root/config/application.rb +32 -0
  38. data/spec/rails-3.2/app_root/config/boot.rb +13 -0
  39. data/spec/rails-3.2/app_root/config/database.yml +4 -0
  40. data/spec/rails-3.2/app_root/config/environment.rb +5 -0
  41. data/spec/rails-3.2/app_root/config/environments/test.rb +35 -0
  42. data/spec/rails-3.2/app_root/config/initializers/backtrace_silencers.rb +7 -0
  43. data/spec/rails-3.2/app_root/config/initializers/inflections.rb +10 -0
  44. data/spec/rails-3.2/app_root/config/initializers/mime_types.rb +5 -0
  45. data/spec/rails-3.2/app_root/config/initializers/secret_token.rb +7 -0
  46. data/spec/rails-3.2/app_root/config/initializers/session_store.rb +8 -0
  47. data/spec/rails-3.2/app_root/config/routes.rb +58 -0
  48. data/spec/rails-3.2/app_root/log/.gitignore +1 -0
  49. data/spec/rails-3.2/rcov.opts +2 -0
  50. data/spec/rails-3.2/spec_helper.rb +25 -0
  51. data/spec/shared/app_root/app/controllers/query_diet_controller.rb +13 -0
  52. data/spec/{app_root → shared/app_root}/app/views/layouts/screen.html.erb +1 -0
  53. data/spec/shared/app_root/db/.gitignore +1 -0
  54. data/spec/shared/query_diet/helpers/widget_spec.rb +32 -0
  55. data/spec/shared/query_diet/integration/widget_spec.rb +23 -0
  56. data/spec/{logger_spec.rb → shared/query_diet/logger_spec.rb} +3 -3
  57. metadata +135 -39
  58. data/Gemfile +0 -10
  59. data/Gemfile.lock +0 -51
  60. data/lib/query_diet/action_controller_ext.rb +0 -20
  61. data/spec/app_root/app/controllers/query_diet_controller.rb +0 -21
  62. data/spec/app_root/config/database.yml +0 -21
  63. data/spec/app_root/config/environments/sqlite.rb +0 -0
  64. data/spec/app_root/config/environments/sqlite3.rb +0 -0
  65. data/spec/app_root/lib/console_with_fixtures.rb +0 -4
  66. data/spec/app_root/script/console +0 -7
  67. data/spec/controllers/query_diet_controller_spec.rb +0 -40
  68. /data/spec/{app_root → rails-2.3/app_root}/config/boot.rb +0 -0
  69. /data/spec/{app_root → rails-2.3/app_root}/config/environment.rb +0 -0
  70. /data/spec/{app_root/config/environments/in_memory.rb → rails-2.3/app_root/config/environments/test.rb} +0 -0
  71. /data/spec/{app_root → rails-2.3/app_root}/config/routes.rb +0 -0
  72. /data/spec/{app_root → rails-2.3/app_root}/log/.gitignore +0 -0
  73. /data/spec/{app_root/config/environments/mysql.rb → rails-3.0/app_root/lib/tasks/.gitkeep} +0 -0
  74. /data/spec/{app_root/config/environments/postgresql.rb → rails-3.0/app_root/log/.gitkeep} +0 -0
  75. /data/spec/{support → rails-3.0}/rcov.opts +0 -0
  76. /data/spec/{app_root → shared/app_root}/app/controllers/application_controller.rb +0 -0
  77. /data/spec/{app_root → shared/app_root}/app/models/movie.rb +0 -0
  78. /data/spec/{app_root → shared/app_root}/app/views/query_diet/no_query.html.erb +0 -0
  79. /data/spec/{app_root → shared/app_root}/app/views/query_diet/two_queries.html.erb +0 -0
  80. /data/spec/{app_root → shared/app_root}/db/migrate/001_create_movies.rb +0 -0
data/Gemfile.lock DELETED
@@ -1,51 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- actionmailer (2.3.14)
5
- actionpack (= 2.3.14)
6
- actionpack (2.3.14)
7
- activesupport (= 2.3.14)
8
- rack (~> 1.1.0)
9
- activerecord (2.3.14)
10
- activesupport (= 2.3.14)
11
- activeresource (2.3.14)
12
- activesupport (= 2.3.14)
13
- activesupport (2.3.14)
14
- git (1.2.5)
15
- hoe (3.0.8)
16
- rake (~> 0.8)
17
- jeweler (1.8.4)
18
- bundler (~> 1.0)
19
- git (>= 1.2.5)
20
- rake
21
- rdoc
22
- json (1.7.5)
23
- rack (1.1.3)
24
- rails (2.3.14)
25
- actionmailer (= 2.3.14)
26
- actionpack (= 2.3.14)
27
- activerecord (= 2.3.14)
28
- activeresource (= 2.3.14)
29
- activesupport (= 2.3.14)
30
- rake (>= 0.8.3)
31
- rake (0.9.2.2)
32
- rdoc (3.12)
33
- json (~> 1.4)
34
- rspec (1.3.2)
35
- rspec-rails (1.3.4)
36
- rack (>= 1.0.0)
37
- rspec (~> 1.3.1)
38
- sqlite3 (1.3.6)
39
- test-unit (1.2.3)
40
- hoe (>= 1.5.1)
41
-
42
- PLATFORMS
43
- ruby
44
-
45
- DEPENDENCIES
46
- jeweler
47
- rails (~> 2.3)
48
- rspec (~> 1.3)
49
- rspec-rails (~> 1.3)
50
- sqlite3
51
- test-unit (= 1.2.3)
@@ -1,20 +0,0 @@
1
- # require_dependency 'application_controller'
2
-
3
- already_inherited = defined?(ApplicationController)
4
-
5
- [ActionController::Base, already_inherited ? ApplicationController : nil].compact.each do |base|
6
- base.class_eval do
7
-
8
- around_filter :query_diet_logging
9
-
10
- private
11
-
12
- def query_diet_logging
13
- QueryDiet::Logger.reset
14
- yield
15
- QueryDiet::Widget.render(response)
16
- end
17
-
18
- end
19
-
20
- end
@@ -1,21 +0,0 @@
1
- class QueryDietController < ApplicationController
2
-
3
- layout 'screen'
4
-
5
- def no_query
6
- end
7
-
8
- def two_queries
9
- Movie.create!
10
- Movie.all
11
- end
12
-
13
- def no_body_tag
14
- render :text => "no body tag", :content_type => "text/html"
15
- end
16
-
17
- def yaml
18
- render :text => { :foo => '<body></body>' }.to_yaml, :content_type => 'text/yaml'
19
- end
20
-
21
- end
@@ -1,21 +0,0 @@
1
- in_memory:
2
- adapter: sqlite3
3
- database: ":memory:"
4
- verbosity: quiet
5
- sqlite:
6
- adapter: sqlite
7
- dbfile: plugin_test.sqlite.db
8
- sqlite3:
9
- adapter: sqlite3
10
- dbfile: plugin_test.sqlite3.db
11
- postgresql:
12
- adapter: postgresql
13
- username: postgres
14
- password: postgres
15
- database: plugin_test
16
- mysql:
17
- adapter: mysql
18
- host: localhost
19
- username: root
20
- password:
21
- database: plugin_test
File without changes
File without changes
@@ -1,4 +0,0 @@
1
- # Loads fixtures into the database when running the test app via the console
2
- (ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/) : Dir.glob(File.join(Rails.root, '../fixtures/*.{yml,csv}'))).each do |fixture_file|
3
- Fixtures.create_fixtures(File.join(Rails.root, '../fixtures'), File.basename(fixture_file, '.*'))
4
- end
@@ -1,7 +0,0 @@
1
- irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
2
- libs = " -r irb/completion"
3
- libs << " -r test/test_helper"
4
- libs << " -r console_app"
5
- libs << " -r console_with_helpers"
6
- libs << " -r console_with_fixtures"
7
- exec "#{irb} #{libs} --simple-prompt"
@@ -1,40 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe QueryDietController do
4
- integrate_views
5
-
6
- describe 'widget' do
7
- it "should be automatically included in a HTML page" do
8
- get :two_queries
9
- response.body.should have_tag('div#query_diet')
10
- end
11
-
12
- it "should not be included in pages that have no body tag" do
13
- get :no_body_tag
14
- response.body.should_not have_tag('div#query_diet')
15
- end
16
-
17
- it "should not be included in pages that are not text/html" do
18
- get :yaml
19
- response.body.should_not have_tag('div#query_diet')
20
- end
21
-
22
- it "should be highlighted if the request was too intimate with the database" do
23
- QueryDiet::Logger.stub :bad? => true
24
- get :no_query
25
- response.body.should have_tag('div#query_diet.bad')
26
- end
27
-
28
- it "should not be highlighted if the request spent little time in the database" do
29
- QueryDiet::Logger.stub :bad? => false
30
- get :no_query
31
- response.body.should have_tag('div#query_diet.good')
32
- end
33
-
34
- it "should contain the number of requests and the duration spent running queries" do
35
- QueryDiet::Logger.stub :count => 78, :time => 43500
36
- get :no_query
37
- response.body.should have_tag('div#query_diet', :text => "78 / 43500ms")
38
- end
39
- end
40
- end
File without changes