query_diet 0.4.0 → 0.5.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.
@@ -3,19 +3,21 @@ module QueryDiet
3
3
  DEFAULT_OPTIONS = { :bad_count => 8, :bad_time => 5000 }
4
4
 
5
5
  class << self
6
- attr_accessor :queries
6
+ attr_accessor :queries, :paused
7
7
 
8
8
  def reset
9
9
  self.queries = []
10
10
  end
11
11
 
12
12
  def log(query)
13
- result = nil
14
- time = Benchmark.realtime do
15
- result = yield
13
+ unless paused?
14
+ result = nil
15
+ time = Benchmark.realtime do
16
+ result = yield
17
+ end
18
+ queries << [query, time] if log_query?(query)
19
+ result
16
20
  end
17
- queries << [query, time] if log_query?(query)
18
- result
19
21
  end
20
22
 
21
23
  def time
@@ -31,6 +33,10 @@ module QueryDiet
31
33
  count >= options[:bad_count] or time >= options[:bad_time]
32
34
  end
33
35
 
36
+ def paused?
37
+ paused
38
+ end
39
+
34
40
  private
35
41
 
36
42
  def log_query?(query)
@@ -1,3 +1,3 @@
1
1
  module QueryDiet
2
- VERSION = '0.4.0'
2
+ VERSION = '0.5.0'
3
3
  end
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe QueryDiet::Logger do
4
+
4
5
  before do
5
6
  QueryDiet::Logger.reset
6
7
  end
@@ -47,4 +48,27 @@ describe QueryDiet::Logger do
47
48
  query[1].should == 5.1234
48
49
  end
49
50
  end
51
+
52
+ describe "#paused" do
53
+
54
+ it "should be false by default" do
55
+ QueryDiet::Logger.paused.should be_false
56
+ end
57
+
58
+ it "should pause the query count" do
59
+ Movie.create
60
+ Movie.create
61
+ QueryDiet::Logger.count.should == 2
62
+
63
+ QueryDiet::Logger.paused = true
64
+ Movie.create
65
+ QueryDiet::Logger.count.should == 2
66
+
67
+ QueryDiet::Logger.paused = false
68
+ Movie.create
69
+ QueryDiet::Logger.count.should == 3
70
+ end
71
+
72
+ end
73
+
50
74
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: query_diet
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 11
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 4
8
+ - 5
9
9
  - 0
10
- version: 0.4.0
10
+ version: 0.5.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Henning Koch
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-11-02 00:00:00 +01:00
19
+ date: 2013-05-17 00:00:00 +02:00
20
20
  default_executable:
21
21
  dependencies: []
22
22
 
@@ -33,7 +33,6 @@ files:
33
33
  - MIT-LICENSE
34
34
  - README.rdoc
35
35
  - Rakefile
36
- - VERSION
37
36
  - lib/query_diet.rb
38
37
  - lib/query_diet/active_record_ext.rb
39
38
  - lib/query_diet/logger.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.3.1