rails-footnotes 3.7.4 → 3.7.5.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@ module Footnotes
2
2
  module Notes
3
3
  class CookiesNote < AbstractNote
4
4
  def initialize(controller)
5
- @cookies = (controller.__send__(:cookies) || {}).dup.symbolize_keys
5
+ @cookies = controller.__send__(:cookies)
6
6
  end
7
7
 
8
8
  def title
@@ -1,12 +1,12 @@
1
1
  module Footnotes
2
2
  module Notes
3
3
  class QueriesNote < AbstractNote
4
- cattr_accessor :alert_db_time, :alert_sql_number, :orm, :instance_writter => false
5
-
4
+ cattr_accessor :alert_db_time, :alert_sql_number, :orm, :ignored_regexps, :instance_writter => false
6
5
  @@alert_db_time = 16.0
7
6
  @@alert_sql_number = 8
8
7
  @@query_subscriber = nil
9
8
  @@orm = [:active_record, :data_mapper]
9
+ @@ignored_regexps = [%r{(pg_table|pg_attribute|show\stables)}i]
10
10
 
11
11
  def self.start!(controller)
12
12
  self.query_subscriber.reset!
@@ -88,13 +88,12 @@ module Footnotes
88
88
  end
89
89
 
90
90
  def type
91
- return @type if @type
92
- @type = self.query.match(/^(select|insert|update|delete|alter)\b/i) || 'Unknown'
91
+ @type ||= self.query.match(/^(\s*)(select|insert|update|delete|alter)\b/im) || 'Unknown'
93
92
  end
94
93
  end
95
94
 
96
95
  class QuerySubscriber < ActiveSupport::LogSubscriber
97
- attr_accessor :events
96
+ attr_accessor :events, :ignore_regexps
98
97
 
99
98
  def initialize(orm)
100
99
  @events = []
@@ -106,7 +105,9 @@ module Footnotes
106
105
  end
107
106
 
108
107
  def sql(event)
109
- @events << QuerySubscriberNotifactionEvent.new(event.dup, caller)
108
+ unless QueriesNote.ignored_regexps.any? {|rex| event.payload[:sql] =~ rex }
109
+ @events << QuerySubscriberNotifactionEvent.new(event.dup, caller)
110
+ end
110
111
  end
111
112
  end
112
113
  end
@@ -1,3 +1,3 @@
1
1
  module Footnotes
2
- VERSION = "3.7.4"
2
+ VERSION = "3.7.5.rc1"
3
3
  end
@@ -0,0 +1,24 @@
1
+ require "spec_helper"
2
+ require 'action_controller'
3
+ require "rails-footnotes/notes/assigns_note"
4
+
5
+ class FootnotesController < ActionController::Base
6
+ end
7
+
8
+ describe Footnotes::Notes::AssignsNote do
9
+ let(:note) do
10
+ @controller = FootnotesController.new
11
+ Footnotes::Notes::AssignsNote.new(@controller)
12
+ end
13
+ subject {note}
14
+
15
+ before(:each) {Footnotes::Notes::AssignsNote.ignored_assigns = []}
16
+ it {should be_valid}
17
+ its(:title) {should eql 'Assigns (3)'}
18
+ specify {note.send(:assigns).should eql [:@action_has_layout, :@view_context_class, :@_status] }
19
+
20
+ describe "Ignored Assigns" do
21
+ before(:each) {Footnotes::Notes::AssignsNote.ignored_assigns = [:@_status]}
22
+ it {note.send(:assigns).should_not include :@_status}
23
+ end
24
+ end
metadata CHANGED
@@ -1,71 +1,69 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rails-footnotes
3
- version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 3.7.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.7.5.rc1
5
+ prerelease: 6
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Keenan Brock
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-05-26 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-07-17 00:00:00.000000000 +03:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &2153796000 !ruby/object:Gem::Requirement
19
18
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
23
22
  version: 3.0.0
24
23
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: rails
28
24
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *2153796000
26
+ - !ruby/object:Gem::Dependency
27
+ name: rails
28
+ requirement: &2153795500 !ruby/object:Gem::Requirement
30
29
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
34
33
  version: 3.0.0
35
34
  type: :development
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: rspec
39
35
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *2153795500
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec
39
+ requirement: &2153795120 !ruby/object:Gem::Requirement
41
40
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
46
45
  type: :development
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: watchr
50
46
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
47
+ version_requirements: *2153795120
48
+ - !ruby/object:Gem::Dependency
49
+ name: watchr
50
+ requirement: &2153794660 !ruby/object:Gem::Requirement
52
51
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: "0"
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
57
56
  type: :development
58
- version_requirements: *id004
59
- description: Every Rails page has footnotes that gives information about your application and links back to your editor.
60
- email:
57
+ prerelease: false
58
+ version_requirements: *2153794660
59
+ description: Every Rails page has footnotes that gives information about your application
60
+ and links back to your editor.
61
+ email:
61
62
  - keenan@thebrocks.net
62
63
  executables: []
63
-
64
64
  extensions: []
65
-
66
65
  extra_rdoc_files: []
67
-
68
- files:
66
+ files:
69
67
  - .gitignore
70
68
  - .rspec.example
71
69
  - .watchr.example
@@ -101,40 +99,41 @@ files:
101
99
  - rails-footnotes.gemspec
102
100
  - spec/abstract_note_spec.rb
103
101
  - spec/footnotes_spec.rb
102
+ - spec/notes/assigns_note_spec.rb
104
103
  - spec/notes/javascripts_note_spec.rb
105
104
  - spec/notes/partials_notes_spec.rb
106
105
  - spec/notes/stylesheets_note_spec.rb
107
106
  - spec/spec_helper.rb
107
+ has_rdoc: true
108
108
  homepage: http://github.com/josevalim/rails-footnotes
109
109
  licenses: []
110
-
111
110
  post_install_message:
112
111
  rdoc_options: []
113
-
114
- require_paths:
112
+ require_paths:
115
113
  - lib
116
- required_ruby_version: !ruby/object:Gem::Requirement
114
+ required_ruby_version: !ruby/object:Gem::Requirement
117
115
  none: false
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- version: "0"
122
- required_rubygems_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
121
  none: false
124
- requirements:
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- version: "0"
122
+ requirements:
123
+ - - ! '>'
124
+ - !ruby/object:Gem::Version
125
+ version: 1.3.1
128
126
  requirements: []
129
-
130
127
  rubyforge_project: rails-footnotes
131
- rubygems_version: 1.7.2
128
+ rubygems_version: 1.6.2
132
129
  signing_key:
133
130
  specification_version: 3
134
- summary: Every Rails page has footnotes that gives information about your application and links back to your editor.
135
- test_files:
131
+ summary: Every Rails page has footnotes that gives information about your application
132
+ and links back to your editor.
133
+ test_files:
136
134
  - spec/abstract_note_spec.rb
137
135
  - spec/footnotes_spec.rb
136
+ - spec/notes/assigns_note_spec.rb
138
137
  - spec/notes/javascripts_note_spec.rb
139
138
  - spec/notes/partials_notes_spec.rb
140
139
  - spec/notes/stylesheets_note_spec.rb