Skip to content

Commit 0d96b8a

Browse files
authored
Merge pull request #869 from Vasfed/feature/lazy_initializer
Support for rails 6
2 parents 783f9e2 + cd1c92f commit 0d96b8a

16 files changed

+58
-10
lines changed

.rubocop.yml

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ inherit_from: .rubocop_todo.yml
33
AllCops:
44
TargetRubyVersion: 2.2
55
Exclude:
6+
- 'gemfiles/bin/*'
67
- 'test/dummy/**/*'
78

89
Metrics/BlockLength:

.rubocop_todo.yml

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Bundler/OrderedGems:
1818
- 'gemfiles/5.0.gemfile'
1919
- 'gemfiles/5.1.gemfile'
2020
- 'gemfiles/5.2.gemfile'
21+
- 'gemfiles/6.0.gemfile'
2122
- 'gemfiles/rails_edge.gemfile'
2223

2324
# Offense count: 2
@@ -140,6 +141,7 @@ Style/HashSyntax:
140141
- 'gemfiles/5.0.gemfile'
141142
- 'gemfiles/5.1.gemfile'
142143
- 'gemfiles/5.2.gemfile'
144+
- 'gemfiles/6.0.gemfile'
143145
- 'gemfiles/rails_edge.gemfile'
144146

145147
# Offense count: 3

.travis.yml

+5
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ matrix:
5151
before_install:
5252
- gem update --system
5353
- gem install bundler
54+
- rvm: 2.6
55+
gemfile: gemfiles/6.0.gemfile
56+
before_install:
57+
- gem update --system
58+
- gem install bundler
5459
- rvm: 2.6
5560
gemfile: gemfiles/rails_edge.gemfile
5661
before_install:

Rakefile

+6
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ task :dummy_generate do
4242
system('touch test/dummy/db/schema.rb')
4343
FileUtils.cp 'test/fixtures/database.yml', 'test/dummy/config/'
4444
FileUtils.rm_r Dir.glob('test/dummy/test/*')
45+
46+
# rails 6 needs this to be present before start:
47+
FileUtils.mkdir_p('test/dummy/app/assets/config')
48+
FileUtils.mkdir_p('test/dummy/app/assets/javascripts')
49+
FileUtils.cp 'test/fixtures/manifest.js', 'test/dummy/app/assets/config/'
50+
FileUtils.cp 'test/fixtures/wicked.js', 'test/dummy/app/assets/javascripts/'
4551
end
4652

4753
desc 'Remove dummy application'

gemfiles/4.0.gemfile

+1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ source "https://rubygems.org"
22

33
gem 'rdoc'
44
gem 'rails', '~> 4.0.0'
5+
gem 'sqlite3', '~> 1.3.6'
56

67
gemspec path: '../'

gemfiles/4.1.gemfile

+1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ source 'https://rubygems.org'
22

33
gem 'rdoc'
44
gem 'rails', '~> 4.1.0'
5+
gem 'sqlite3', '~> 1.3.6'
56

67
gemspec path: '../'

gemfiles/4.2.gemfile

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
source 'https://rubygems.org'
22

33
gem 'rdoc'
4+
gem 'bundler', '~>1.3'
5+
gem 'sqlite3', '~> 1.3.6'
6+
gem 'sprockets', '~>3.0'
47
gem 'rails', '~> 4.2.0'
58

69
gemspec path: '../'

gemfiles/5.0.gemfile

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
source 'https://rubygems.org'
22

33
gem 'rdoc'
4+
gem 'sqlite3', '~> 1.3.6'
5+
gem 'sprockets', '~>3.0' # v4 strips newlines from assets causing tests to fail
46
gem 'rails', '~> 5.0.0'
57

68
gemspec path: '../'

gemfiles/5.1.gemfile

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
source 'https://rubygems.org'
22

33
gem 'rdoc'
4+
gem 'sqlite3', '~> 1.3.6'
5+
gem 'sprockets', '~>3.0' # v4 strips newlines from assets causing tests to fail
46
gem 'rails', '~> 5.1.0'
57

68
gemspec path: '../'

gemfiles/5.2.gemfile

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ source 'https://rubygems.org'
33
gem 'rdoc'
44
gem 'rails', '~> 5.2'
55
gem 'sqlite3', '~> 1.3.6'
6+
gem 'sprockets', '~>3.0' # v4 strips newlines from assets causing tests to fail
67
gem 'bootsnap' # required to run `rake test` in Rails 5.2
78
gem 'mocha', '= 1.3' # newer versions blow up
89

gemfiles/6.0.gemfile

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
source 'https://rubygems.org'
2+
3+
gem 'bundler', '~>2'
4+
gem 'rdoc'
5+
gem 'rails', '~>6.0.1'
6+
gem 'sqlite3', '~> 1.4'
7+
gem 'sprockets', '~>3.0'
8+
gem 'bootsnap' # required to run `rake test` in Rails 6.0
9+
gem 'mocha', '= 1.3' # newer versions blow up
10+
11+
gemspec path: '../'

gemfiles/rails_edge.gemfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ source 'https://rubygems.org'
22

33
gem 'rdoc'
44
gem 'rails', git: 'https://github.com/rails/rails.git'
5-
gem 'sqlite3', '~> 1.3.6'
5+
gem 'sqlite3', '~> 1.4'
66
gem 'bootsnap' # required to run `rake test` in Rails 6.0
77
gem 'mocha', '= 1.3' # newer versions blow up
88

lib/wicked_pdf/railtie.rb

+8-6
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@ class WickedPdf
66
if defined?(Rails.env)
77
class WickedRailtie < Rails::Railtie
88
initializer 'wicked_pdf.register', :after => 'remotipart.controller_helper' do |_app|
9-
if ActionController::Base.respond_to?(:prepend) &&
10-
Object.method(:new).respond_to?(:super_method)
11-
ActionController::Base.send :prepend, PdfHelper
12-
else
13-
ActionController::Base.send :include, PdfHelper
9+
ActiveSupport.on_load(:action_controller) do
10+
if ActionController::Base.respond_to?(:prepend) &&
11+
Object.method(:new).respond_to?(:super_method)
12+
ActionController::Base.send :prepend, PdfHelper
13+
else
14+
ActionController::Base.send :include, PdfHelper
15+
end
16+
ActionView::Base.send :include, WickedPdfHelper::Assets
1417
end
15-
ActionView::Base.send :include, WickedPdfHelper::Assets
1618
end
1719
end
1820

test/fixtures/manifest.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
//= link_tree ../images
2+
//= link wicked.js
3+
//= link wicked.css

test/test_helper.rb

+9-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,15 @@
1919
File.open(destination, 'w') { |f| f.write(source) }
2020

2121
# Copy JS file
22-
destination = assets_dir.join('javascripts/wicked.js')
22+
js_dir = assets_dir.join('javascripts')
23+
Dir.mkdir(js_dir) unless File.directory?(js_dir)
24+
destination = js_dir.join('wicked.js')
2325
source = File.read('test/fixtures/wicked.js')
2426
File.open(destination, 'w') { |f| f.write(source) }
27+
28+
config_dir = assets_dir.join('config')
29+
Dir.mkdir(config_dir) unless File.directory?(config_dir)
30+
source = File.read('test/fixtures/manifest.js')
31+
destination = config_dir.join('manifest.js')
32+
File.open(destination, 'w') { |f| f.write(source) }
2533
end

wicked_pdf.gemspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ DESC
3333
spec.add_dependency 'activesupport'
3434

3535
spec.add_development_dependency 'rails'
36-
spec.add_development_dependency 'bundler', RUBY_VERSION >= '2.5' ? '~> 2' : '~> 1.3'
36+
spec.add_development_dependency 'bundler'
3737
spec.add_development_dependency 'rake'
3838
spec.add_development_dependency 'rubocop', '~> 0.68.0'
39-
spec.add_development_dependency 'sqlite3', '~> 1.3.6'
39+
spec.add_development_dependency 'sqlite3', '~> 1.3'
4040
spec.add_development_dependency 'mocha', '= 1.3'
4141
spec.add_development_dependency 'test-unit'
4242
end

0 commit comments

Comments
 (0)