rails-footnotes 4.1.5 → 5.0.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 (47) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +25 -0
  3. data/.gitignore +4 -3
  4. data/CHANGELOG +8 -0
  5. data/Gemfile +8 -1
  6. data/Gemfile.lock +187 -0
  7. data/README.rdoc +8 -54
  8. data/Rakefile +1 -6
  9. data/bin/rake +29 -0
  10. data/bin/rspec +29 -0
  11. data/gemfiles/{Gemfile.rails-3.2.x → Gemfile.rails-3.2.22} +1 -1
  12. data/lib/generators/templates/rails_footnotes.rb +4 -5
  13. data/lib/rails-footnotes.rb +9 -9
  14. data/lib/rails-footnotes/extension.rb +8 -11
  15. data/lib/rails-footnotes/filter.rb +13 -4
  16. data/lib/rails-footnotes/notes/assigns_note.rb +2 -2
  17. data/lib/rails-footnotes/notes/files_note.rb +12 -23
  18. data/lib/rails-footnotes/notes/log_note.rb +1 -1
  19. data/lib/rails-footnotes/notes/params_note.rb +5 -1
  20. data/lib/rails-footnotes/notes/queries_note.rb +9 -10
  21. data/lib/rails-footnotes/notes/view_note.rb +16 -7
  22. data/lib/rails-footnotes/version.rb +1 -1
  23. data/lib/rails6-footnotes.rb +1 -0
  24. data/rails-footnotes.gemspec +5 -10
  25. data/spec/abstract_note_spec.rb +17 -13
  26. data/spec/app/assets/config/manifest.js +2 -0
  27. data/spec/app/assets/javascripts/foobar.js +1 -0
  28. data/spec/app/assets/stylesheets/foobar.css +0 -0
  29. data/spec/app/views/files/index.html.erb +1 -0
  30. data/spec/app/views/layouts/application.html.erb +12 -0
  31. data/spec/{views → app/views}/partials/_foo.html.erb +0 -0
  32. data/spec/{views → app/views}/partials/index.html.erb +0 -0
  33. data/spec/controllers/files_note_controller_spec.rb +38 -0
  34. data/spec/controllers/footnotes_controller_spec.rb +49 -34
  35. data/spec/controllers/log_note_controller_spec.rb +4 -8
  36. data/spec/controllers/partials_note_controller_spec.rb +2 -3
  37. data/spec/env_note_spec.rb +4 -4
  38. data/spec/footnotes_spec.rb +38 -54
  39. data/spec/notes/assigns_note_spec.rb +13 -9
  40. data/spec/notes/controller_note_spec.rb +2 -2
  41. data/spec/notes/files_note_spec.rb +12 -3
  42. data/spec/notes/javascripts_note_spec.rb +1 -1
  43. data/spec/notes/stylesheets_note_spec.rb +1 -1
  44. data/spec/notes/view_note_spec.rb +18 -0
  45. data/spec/spec_helper.rb +35 -3
  46. metadata +38 -48
  47. data/.travis.yml +0 -14
@@ -5,7 +5,7 @@ require "rails-footnotes/notes/assigns_note"
5
5
  describe Footnotes::Notes::AssignsNote do
6
6
  let(:note) do
7
7
  @controller = double
8
- @controller.stub(:instance_variables).and_return([:@action_has_layout, :@status])
8
+ allow(@controller).to receive(:instance_variables).and_return([:@action_has_layout, :@status])
9
9
  @controller.instance_variable_set(:@action_has_layout, true)
10
10
  @controller.instance_variable_set(:@status, 200)
11
11
  Footnotes::Notes::AssignsNote.new(@controller)
@@ -15,31 +15,35 @@ describe Footnotes::Notes::AssignsNote do
15
15
  before(:each) {Footnotes::Notes::AssignsNote.ignored_assigns = []}
16
16
 
17
17
  it {should be_valid}
18
- its(:title) {should eql 'Assigns (2)'}
19
18
 
20
- specify {note.send(:assigns).should eql [:@action_has_layout, :@status]}
21
- specify {note.send(:to_table).should eql [
19
+ describe '#title' do
20
+ subject { super().title }
21
+ it {should eql 'Assigns (2)'}
22
+ end
23
+
24
+ specify {expect(note.send(:assigns)).to eql [:@action_has_layout, :@status]}
25
+ specify {expect(note.send(:to_table)).to eql [
22
26
  ["Name", "Value"],
23
27
  ["<strong>@action_has_layout</strong><br /><em>TrueClass</em>", "true"],
24
- ["<strong>@status</strong><br /><em>Fixnum</em>", "200"]
28
+ ["<strong>@status</strong><br /><em>Integer</em>", "200"]
25
29
  ]}
26
30
 
27
31
  describe "Ignored Assigns" do
28
32
  before(:each) {Footnotes::Notes::AssignsNote.ignored_assigns = [:@status]}
29
- it {note.send(:assigns).should_not include :@status}
33
+ it {expect(note.send(:assigns)).not_to include :@status}
30
34
  end
31
35
 
32
36
  describe "Ignored Assigns by regexp" do
33
37
  before(:each) {Footnotes::Notes::AssignsNote.ignored_assigns_pattern = /^@status$/}
34
- it {note.send(:assigns).should_not include :@status}
38
+ it {expect(note.send(:assigns)).not_to include :@status}
35
39
  end
36
40
 
37
41
  it "should call #mount_table method with correct params" do
38
- note.should_receive(:mount_table).with(
42
+ expect(note).to receive(:mount_table).with(
39
43
  [
40
44
  ["Name", "Value"],
41
45
  ["<strong>@action_has_layout</strong><br /><em>TrueClass</em>", "true"],
42
- ["<strong>@status</strong><br /><em>Fixnum</em>", "200"]
46
+ ["<strong>@status</strong><br /><em>Integer</em>", "200"]
43
47
  ], {:summary=>"Debug information for Assigns (2)"})
44
48
  note.content
45
49
  end
@@ -5,8 +5,8 @@ describe Footnotes::Notes::ControllerNote do
5
5
  # Issue #60
6
6
  it "should not be valid if conftroller file not exist" do
7
7
  note = Footnotes::Notes::ControllerNote.new(double)
8
- note.stub(:controller_filename).and_return(nil)
8
+ allow(note).to receive(:controller_filename).and_return(nil)
9
9
 
10
- note.should_not be_valid
10
+ expect(note).not_to be_valid
11
11
  end
12
12
  end
@@ -2,16 +2,25 @@ require 'spec_helper'
2
2
  require 'action_controller'
3
3
  require "rails-footnotes/notes/files_note"
4
4
 
5
+ class ConcreteFilesNote < Footnotes::Notes::FilesNote
6
+ def scan_text(text)
7
+ []
8
+ end
9
+ end
10
+
5
11
  describe Footnotes::Notes::FilesNote do
6
12
 
7
13
  let(:note) do
8
- Rails.stub(:version).and_return('3.0.12');
9
- Footnotes::Notes::FilesNote.new(double('controller', :response => double('', :body => '')))
14
+ ConcreteFilesNote.new(double('controller', :response => double('', :body => '')))
10
15
  end
11
16
 
12
17
  subject { note }
13
18
 
14
19
  it { should be_valid }
15
- its(:row) { should eql :edit }
20
+
21
+ describe '#row' do
22
+ subject { super().row }
23
+ it { should eql :edit }
24
+ end
16
25
 
17
26
  end
@@ -8,7 +8,7 @@ describe Footnotes::Notes::JavascriptsNote do
8
8
  it {should be_valid}
9
9
 
10
10
  it "should return js links from html after #scan_text mehtod call" do
11
- subject.send(:scan_text, HTML_WITH_JS).should eql ['/javascripts/all.js', '/javascripts/jquery.js']
11
+ expect(subject.send(:scan_text, HTML_WITH_JS)).to eql ['/javascripts/all.js', '/javascripts/jquery.js']
12
12
  end
13
13
  end
14
14
 
@@ -9,7 +9,7 @@ describe Footnotes::Notes::StylesheetsNote do
9
9
  it {should be_valid}
10
10
 
11
11
  it "should return css link from html text after #scan_text call" do
12
- subject.send(:scan_text, HTML_WITH_CSS).should eql ['/stylesheets/compiled/print.css', '/stylesheets/compiled/print.css']
12
+ expect(subject.send(:scan_text, HTML_WITH_CSS)).to eql ['/stylesheets/compiled/print.css', '/stylesheets/compiled/print.css']
13
13
  end
14
14
  end
15
15
 
@@ -0,0 +1,18 @@
1
+ require "spec_helper"
2
+ require "rails-footnotes/notes/view_note"
3
+
4
+ describe Footnotes::Notes::ViewNote do
5
+ it "should not be valid if view file not exist" do
6
+ note = Footnotes::Notes::ViewNote.new(double)
7
+ allow(note).to receive(:filename).and_return(nil)
8
+
9
+ expect(note).not_to be_valid
10
+ end
11
+
12
+ it "should not explode if template is nil" do
13
+ Footnotes::Notes::ViewNote.template = nil
14
+
15
+ note = Footnotes::Notes::ViewNote.new(double)
16
+ expect(note).to_not be_valid
17
+ end
18
+ end
data/spec/spec_helper.rb CHANGED
@@ -4,12 +4,15 @@ begin
4
4
  rescue LoadError
5
5
  end
6
6
  ENV["RAILS_ENV"] ||= 'test'
7
+ require "sprockets/railtie"
7
8
  require "rails-footnotes"
9
+ require 'capybara/rspec'
8
10
 
9
11
  module FooBar
10
12
  class Application < Rails::Application
11
13
  config.secret_key_base = 'foobar'
12
- config.root = Dir.new('.')
14
+ config.root = Dir.new('./spec')
15
+ config.eager_load = false
13
16
  end
14
17
  end
15
18
 
@@ -17,20 +20,49 @@ ActionController::Base.class_eval do
17
20
  include Rails.application.routes.url_helpers
18
21
  end
19
22
 
23
+ class ApplicationController < ActionController::Base
24
+ end
25
+
26
+ module Helpers
27
+ def page
28
+ Capybara::Node::Simple.new(response.body)
29
+ end
30
+ end
31
+
20
32
  RSpec.configure do |config|
21
33
 
22
34
  Rails.application.initialize!
23
35
 
36
+ config.include Capybara::DSL
37
+ config.include Helpers
38
+ config.example_status_persistence_file_path = ".rspec_results"
39
+
24
40
  Rails.application.routes.draw do
25
41
  get 'footnotes/foo'
26
42
  get 'footnotes/foo_holder'
27
43
  get 'footnotes/foo_js'
28
44
  get 'footnotes/foo_download'
29
45
  get 'partials/index'
46
+ get 'files/index'
30
47
  end
31
-
32
48
  end
33
49
 
34
50
  require 'rspec/rails'
35
- require 'capybara/rspec'
36
51
  require 'capybara/rails'
52
+
53
+ HTML_DOCUMENT = <<EOF
54
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
55
+ <html>
56
+ <head>
57
+ <title>HTML to XHTML Example: HTML page</title>
58
+ <link rel="Stylesheet" href="htmltohxhtml.css" type="text/css" media="screen">
59
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
60
+ </head>
61
+ <body>
62
+ <p>This is the HTML page. It works and is encoded just like any HTML page you
63
+ have previously done. View <a href="htmltoxhtml2.htm">the XHTML version</a> of
64
+ this page to view the difference between HTML and XHTML.</p>
65
+ <p>You will be glad to know that no changes need to be made to any of your CSS files.</p>
66
+ </body>
67
+ </html>
68
+ EOF
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-footnotes
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.5
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman V. Babenko
@@ -9,70 +9,46 @@ authors:
9
9
  - Keenan Brock
10
10
  - Duane Johnson
11
11
  - Adrien Siami
12
- autorequire:
12
+ - André Arko
13
+ autorequire:
13
14
  bindir: bin
14
15
  cert_chain: []
15
- date: 2015-02-04 00:00:00.000000000 Z
16
+ date: 2021-08-23 00:00:00.000000000 Z
16
17
  dependencies:
17
18
  - !ruby/object:Gem::Dependency
18
19
  name: rails
19
- requirement: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: '3.2'
24
- type: :runtime
25
- prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- version: '3.2'
31
- - !ruby/object:Gem::Dependency
32
- name: rspec-rails
33
20
  requirement: !ruby/object:Gem::Requirement
34
21
  requirements:
35
22
  - - "~>"
36
23
  - !ruby/object:Gem::Version
37
- version: 2.14.0
38
- type: :development
24
+ version: '6.0'
25
+ type: :runtime
39
26
  prerelease: false
40
27
  version_requirements: !ruby/object:Gem::Requirement
41
28
  requirements:
42
29
  - - "~>"
43
30
  - !ruby/object:Gem::Version
44
- version: 2.14.0
45
- - !ruby/object:Gem::Dependency
46
- name: capybara
47
- requirement: !ruby/object:Gem::Requirement
48
- requirements:
49
- - - ">="
50
- - !ruby/object:Gem::Version
51
- version: '0'
52
- type: :development
53
- prerelease: false
54
- version_requirements: !ruby/object:Gem::Requirement
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- version: '0'
31
+ version: '6.0'
59
32
  description: Every Rails page has footnotes that gives information about your application
60
33
  and links back to your editor.
61
34
  email:
62
- - romanvbabenko@gmail.com
35
+ - andre@arko.net
63
36
  executables: []
64
37
  extensions: []
65
38
  extra_rdoc_files: []
66
39
  files:
40
+ - ".github/workflows/ci.yml"
67
41
  - ".gitignore"
68
42
  - ".rspec.example"
69
- - ".travis.yml"
70
43
  - CHANGELOG
71
44
  - Gemfile
45
+ - Gemfile.lock
72
46
  - MIT-LICENSE
73
47
  - README.rdoc
74
48
  - Rakefile
75
- - gemfiles/Gemfile.rails-3.2.x
49
+ - bin/rake
50
+ - bin/rspec
51
+ - gemfiles/Gemfile.rails-3.2.22
76
52
  - gemfiles/Gemfile.rails-4.0.x
77
53
  - gemfiles/Gemfile.rails-4.1.x
78
54
  - gemfiles/Gemfile.rails-4.2.x
@@ -103,8 +79,17 @@ files:
103
79
  - lib/rails-footnotes/notes/stylesheets_note.rb
104
80
  - lib/rails-footnotes/notes/view_note.rb
105
81
  - lib/rails-footnotes/version.rb
82
+ - lib/rails6-footnotes.rb
106
83
  - rails-footnotes.gemspec
107
84
  - spec/abstract_note_spec.rb
85
+ - spec/app/assets/config/manifest.js
86
+ - spec/app/assets/javascripts/foobar.js
87
+ - spec/app/assets/stylesheets/foobar.css
88
+ - spec/app/views/files/index.html.erb
89
+ - spec/app/views/layouts/application.html.erb
90
+ - spec/app/views/partials/_foo.html.erb
91
+ - spec/app/views/partials/index.html.erb
92
+ - spec/controllers/files_note_controller_spec.rb
108
93
  - spec/controllers/footnotes_controller_spec.rb
109
94
  - spec/controllers/log_note_controller_spec.rb
110
95
  - spec/controllers/partials_note_controller_spec.rb
@@ -116,35 +101,41 @@ files:
116
101
  - spec/notes/files_note_spec.rb
117
102
  - spec/notes/javascripts_note_spec.rb
118
103
  - spec/notes/stylesheets_note_spec.rb
104
+ - spec/notes/view_note_spec.rb
119
105
  - spec/spec_helper.rb
120
- - spec/views/partials/_foo.html.erb
121
- - spec/views/partials/index.html.erb
122
- homepage: http://github.com/josevalim/rails-footnotes
106
+ homepage: http://github.com/indirect/rails-footnotes
123
107
  licenses: []
124
108
  metadata: {}
125
- post_install_message:
109
+ post_install_message:
126
110
  rdoc_options: []
127
111
  require_paths:
128
112
  - lib
129
113
  required_ruby_version: !ruby/object:Gem::Requirement
130
114
  requirements:
131
- - - ">="
115
+ - - "~>"
132
116
  - !ruby/object:Gem::Version
133
- version: '0'
117
+ version: '3.0'
134
118
  required_rubygems_version: !ruby/object:Gem::Requirement
135
119
  requirements:
136
120
  - - ">="
137
121
  - !ruby/object:Gem::Version
138
122
  version: '0'
139
123
  requirements: []
140
- rubyforge_project: rails-footnotes
141
- rubygems_version: 2.4.5
142
- signing_key:
124
+ rubygems_version: 3.2.23
125
+ signing_key:
143
126
  specification_version: 4
144
127
  summary: Every Rails page has footnotes that gives information about your application
145
128
  and links back to your editor.
146
129
  test_files:
147
130
  - spec/abstract_note_spec.rb
131
+ - spec/app/assets/config/manifest.js
132
+ - spec/app/assets/javascripts/foobar.js
133
+ - spec/app/assets/stylesheets/foobar.css
134
+ - spec/app/views/files/index.html.erb
135
+ - spec/app/views/layouts/application.html.erb
136
+ - spec/app/views/partials/_foo.html.erb
137
+ - spec/app/views/partials/index.html.erb
138
+ - spec/controllers/files_note_controller_spec.rb
148
139
  - spec/controllers/footnotes_controller_spec.rb
149
140
  - spec/controllers/log_note_controller_spec.rb
150
141
  - spec/controllers/partials_note_controller_spec.rb
@@ -156,6 +147,5 @@ test_files:
156
147
  - spec/notes/files_note_spec.rb
157
148
  - spec/notes/javascripts_note_spec.rb
158
149
  - spec/notes/stylesheets_note_spec.rb
150
+ - spec/notes/view_note_spec.rb
159
151
  - spec/spec_helper.rb
160
- - spec/views/partials/_foo.html.erb
161
- - spec/views/partials/index.html.erb
data/.travis.yml DELETED
@@ -1,14 +0,0 @@
1
- script: "bundle exec rake spec"
2
- rvm:
3
- - 1.9.3
4
- - 2.0.0
5
- - 2.1.1
6
- gemfile:
7
- - gemfiles/Gemfile.rails-3.2.x
8
- - gemfiles/Gemfile.rails-4.0.x
9
- - gemfiles/Gemfile.rails-4.1.x
10
- - gemfiles/Gemfile.rails-4.2.x
11
- - gemfiles/Gemfile.rails-edge
12
- matrix:
13
- allow_failures:
14
- - gemfile: gemfiles/Gemfile.rails-edge