axlsx_rails 0.1.4 → 0.1.5
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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +38 -13
- data/Gemfile +6 -6
- data/Gemfile.lock +121 -125
- data/Gemfile.lock.3.1 +112 -116
- data/Gemfile.lock.3.2 +119 -123
- data/Gemfile.lock.3.2.14 +206 -0
- data/Gemfile.lock.4.0 +205 -0
- data/Gemfile.lock.orig +85 -84
- data/Guardfile +1 -0
- data/README.md +81 -16
- data/lib/axlsx_rails/action_controller.rb +5 -1
- data/lib/axlsx_rails/version.rb +1 -1
- data/spec/axlsx_builder_spec.rb +2 -2
- data/spec/axlsx_mailer_spec.rb +15 -0
- data/spec/axlsx_request_spec.rb +33 -9
- data/spec/ci.sh +1 -1
- data/spec/dummy/app/controllers/home_controller.rb +5 -2
- data/spec/dummy/app/controllers/users_controller.rb +15 -0
- data/spec/dummy/app/mailers/notifier.rb +26 -0
- data/spec/dummy/app/models/user.rb +4 -0
- data/spec/dummy/app/views/notifier/instructions.html.erb +14 -0
- data/spec/dummy/app/views/users/mailers/instructions.xlsx.axlsx +5 -0
- data/spec/dummy/app/views/users/respond_with.xlsx.axlsx +8 -0
- data/spec/dummy/config/environments/development.rb +2 -0
- data/spec/dummy/config/environments/production.rb +2 -0
- data/spec/dummy/config/environments/test.rb +4 -1
- data/spec/dummy/config/initializers/secret_token.rb +1 -0
- data/spec/dummy/config/routes.rb +2 -1
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +49 -0
- data/spec/dummy/log/test.log +26205 -0
- data/spec/spec_helper.rb +4 -1
- data/spec/test_3.1.sh +1 -1
- data/spec/test_3.2.sh +1 -1
- data/spec/test_4.0.sh +1 -1
- metadata +73 -63
data/Guardfile
CHANGED
@@ -11,5 +11,6 @@ guard 'rspec', :version => 2 do
|
|
11
11
|
watch(%r{spec/dummy/app/controllers/.+\.rb$}) { ["spec/axlsx_renderer_spec.rb", "spec/axlsx_builder_spec.rb", "axlsx_request_spec.rb"] }
|
12
12
|
watch('lib/axlsx_rails/action_controller.rb') { ["spec/axlsx_renderer_spec.rb", "spec/axlsx_request_spec.rb"] }
|
13
13
|
watch('lib/axlsx_rails/template_handler.rb') { "spec/axlsx_builder_spec.rb" }
|
14
|
+
watch(%r{spec/dummy/app/mailers/.+\.rb$}) { "spec/axlsx_mailer_spec.rb" }
|
14
15
|
watch(%r{spec/dummy/app/views/.+\.erb}) { "spec/axlsx_request_spec.rb" }
|
15
16
|
end
|
data/README.md
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
Axlsx-Rails — Axlsx templates for Rails views
|
2
2
|
===================================================
|
3
3
|
|
4
|
+
[](http://badge.fury.io/rb/axlsx_rails)
|
4
6
|
[](http://travis-ci.org/straydogstudio/axlsx_rails)
|
5
7
|
[](https://gemnasium.com/straydogstudio/axlsx_rails)
|
8
|
+
[](https://coveralls.io/r/straydogstudio/axlsx_rails)
|
6
10
|
|
7
11
|
##Installation
|
8
12
|
|
@@ -14,11 +18,11 @@ gem 'axlsx_rails'
|
|
14
18
|
|
15
19
|
##Requirements
|
16
20
|
|
17
|
-
* Rails 3.1,
|
21
|
+
* Rails 3.1, tested on 3.1, 3.2, and 4.0
|
18
22
|
|
19
23
|
##Usage
|
20
24
|
|
21
|
-
Axlsx-Rails provides a renderer and a template handler. It adds the :xlsx format and parses .xlsx.axslx templates.
|
25
|
+
Axlsx-Rails provides a renderer and a template handler. It adds the :xlsx format and parses .xlsx.axslx templates. This lets you take all the [Axlsx](https://github.com/randym/axlsx) code out of your controller or model and place it inside the template, where view code belongs! **See [this blog post](http://axlsx.blog.randym.net/2012/08/excel-on-rails-like-pro-with-axlsxrails.html) for a more complete walkthrough.**
|
22
26
|
|
23
27
|
###Controller
|
24
28
|
|
@@ -43,6 +47,7 @@ format.xlsx {
|
|
43
47
|
response.headers['Content-Disposition'] = 'attachment; filename="my_new_filename.xlsx"'
|
44
48
|
}
|
45
49
|
```
|
50
|
+
|
46
51
|
Or:
|
47
52
|
|
48
53
|
```ruby
|
@@ -56,7 +61,9 @@ format.xlsx {
|
|
56
61
|
|
57
62
|
###Template
|
58
63
|
|
59
|
-
|
64
|
+
This is where you place all your [Axlsx](https://github.com/randym/axlsx) specific markup. Add worksheets, fill content, merge cells, add styles. See the [Axlsx examples](https://github.com/randym/axlsx/tree/master/examples/example.rb) page to see what you can do.
|
65
|
+
|
66
|
+
Use the .xlsx.axlsx extension ([watch out for typos!](#troubleshooting)) In the template, use xlsx_package variable, which is set with Axlsx::Package.new:
|
60
67
|
|
61
68
|
```ruby
|
62
69
|
wb = xlsx_package.workbook
|
@@ -103,6 +110,32 @@ wb.add_worksheet(name: "Cover Sheet") do |sheet|
|
|
103
110
|
end
|
104
111
|
```
|
105
112
|
|
113
|
+
####Mailers
|
114
|
+
|
115
|
+
To use an xlsx template to render a mail attachment, use the following syntax:
|
116
|
+
|
117
|
+
```ruby
|
118
|
+
class UserMailer < ActionMailer::Base
|
119
|
+
def export(users)
|
120
|
+
xlsx = render handlers: [:axlsx], template: "users/export", locals: {users: users}
|
121
|
+
attachments["Users.xlsx"] = {mime_type: Mime::XLSX, content: xlsx}
|
122
|
+
...
|
123
|
+
end
|
124
|
+
end
|
125
|
+
```
|
126
|
+
|
127
|
+
If the template (`users/export`) can refer to only one file (the xlsx.axlsx template), you do not need to specify `handlers`.
|
128
|
+
|
129
|
+
##Troubleshooting
|
130
|
+
### Mispellings
|
131
|
+
It is easy to get the spelling wrong in the extension name, the format.xlsx statement, or in a render call. If you get the following error in particular:
|
132
|
+
|
133
|
+
```ruby
|
134
|
+
uninitialized constant Mime::XSLX
|
135
|
+
```
|
136
|
+
|
137
|
+
it means you have used `format.xslx` instead of `format.xlsx`, or something similar.
|
138
|
+
|
106
139
|
##Dependencies
|
107
140
|
|
108
141
|
- [Axlsx](https://github.com/randym/axlsx)
|
@@ -111,22 +144,54 @@ end
|
|
111
144
|
|
112
145
|
* [Noel Peden](https://github.com/straydogstudio)
|
113
146
|
|
147
|
+
##Contributors
|
148
|
+
|
149
|
+
* [randym](https://github.com/randym)
|
150
|
+
* [sugi](https://github.com/sugi)
|
151
|
+
* [envek](https://github.com/envek)
|
152
|
+
* [engwan](https://github.com/engwan)
|
153
|
+
* [maxd](https://github.com/maxd)
|
154
|
+
|
114
155
|
##Change log
|
115
156
|
|
116
|
-
|
117
|
-
|
157
|
+
**October 11, 2013**
|
158
|
+
|
159
|
+
- Handle (and test) respond_to override
|
160
|
+
|
161
|
+
**October 4, 2013**
|
162
|
+
|
163
|
+
- Added coveralls
|
164
|
+
- Raised testing to axlsx 2.0.1, roo 1.12.2, and rubyzip 1.0.0
|
165
|
+
|
166
|
+
**July 25, 2013**
|
167
|
+
|
168
|
+
- Documentation improved
|
169
|
+
- Testing for generating partial in mailer
|
170
|
+
|
171
|
+
**January 18, 2013**: 0.1.4 release
|
172
|
+
|
173
|
+
- Now supports Rails 4 (thanks [Envek](https://github.com/Envek))
|
174
|
+
- If you call render :xlsx on a request without :xlsx format, it should force the :xlsx format. Works on Rails 3.2+.
|
175
|
+
|
176
|
+
**December 6, 2012**: 0.1.3 release
|
177
|
+
|
178
|
+
- Fix for absolute template paths
|
179
|
+
|
180
|
+
**July 25, 2012**: 0.1.2 release
|
181
|
+
|
182
|
+
- Partials tested
|
183
|
+
|
184
|
+
**July 19, 2012**: 0.1.1 release
|
185
|
+
|
186
|
+
- Travis-ci added (thanks [randym](https://github.com/randym))
|
187
|
+
- render statements and filename tests fixes (thanks [engwan](https://github.com/engwan))
|
118
188
|
|
119
|
-
|
120
|
-
- Partials tested
|
189
|
+
**July 17, 2012**: 0.1.0 release
|
121
190
|
|
122
|
-
-
|
123
|
-
|
124
|
-
- render statements and filename tests fixes (thanks [engwan](https://github.com/engwan))
|
191
|
+
- Tests completed
|
192
|
+
- Acts_as_xlsx tested, example in docs
|
125
193
|
|
126
|
-
|
127
|
-
- Tests completed
|
128
|
-
- Acts_as_xlsx tested, example in docs
|
194
|
+
**July 12, 2012**: 0.0.1 release
|
129
195
|
|
130
|
-
-
|
131
|
-
|
132
|
-
- It works, but there are no tests! Bad programmer!
|
196
|
+
- Initial posting.
|
197
|
+
- It works, but there are no tests! Bad programmer!
|
@@ -24,6 +24,10 @@ end
|
|
24
24
|
# For respond_to default
|
25
25
|
class ActionController::Responder
|
26
26
|
def to_xlsx
|
27
|
-
|
27
|
+
if @default_response
|
28
|
+
@default_response.call(options)
|
29
|
+
else
|
30
|
+
controller.render({:xlsx => controller.action_name}.merge(options))
|
31
|
+
end
|
28
32
|
end
|
29
33
|
end
|
data/lib/axlsx_rails/version.rb
CHANGED
data/spec/axlsx_builder_spec.rb
CHANGED
@@ -24,11 +24,11 @@ describe 'Axlsx template handler' do
|
|
24
24
|
xlsx_package, wb = nil
|
25
25
|
eval( AB.call template )
|
26
26
|
xlsx_package.serialize('/tmp/axlsx_temp.xlsx')
|
27
|
-
expect{ wb = Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
27
|
+
expect{ wb = Roo::Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
28
28
|
wb.cell(2,3).should == 'c'
|
29
29
|
end
|
30
30
|
|
31
31
|
#TODO:
|
32
32
|
# Test if author field is set - does roo parse that?
|
33
33
|
end
|
34
|
-
end
|
34
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "Mailer", type: :request do
|
4
|
+
before :each do
|
5
|
+
@user = User.create name: 'Elmer', last_name: 'Fudd', address: '1234 Somewhere, Over NY 11111', email: 'elmer@fudd.com'
|
6
|
+
end
|
7
|
+
|
8
|
+
it "attaches an xlsx file" do
|
9
|
+
visit "/users/#{@user.id}/send_instructions"
|
10
|
+
last_email = ActionMailer::Base.deliveries.last
|
11
|
+
last_email.to.should == [@user.email]
|
12
|
+
last_email.attachments.first.should be
|
13
|
+
last_email.attachments.first.content_type.should == Mime::XLSX.to_s + "; charset=UTF-8"
|
14
|
+
end
|
15
|
+
end
|
data/spec/axlsx_request_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require'spec_helper'
|
1
|
+
require 'spec_helper'
|
2
2
|
describe 'Axlsx request', :type => :request do
|
3
3
|
|
4
4
|
it "has a working dummy app" do
|
@@ -11,7 +11,7 @@ describe 'Axlsx request', :type => :request do
|
|
11
11
|
page.response_headers['Content-Type'].should == Mime::XLSX.to_s + "; charset=utf-8"
|
12
12
|
File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
|
13
13
|
wb = nil
|
14
|
-
expect{ wb = Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
14
|
+
expect{ wb = Roo::Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
15
15
|
wb.cell(2,1).should == 'Untie!'
|
16
16
|
end
|
17
17
|
|
@@ -23,7 +23,19 @@ describe 'Axlsx request', :type => :request do
|
|
23
23
|
|
24
24
|
File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
|
25
25
|
wb = nil
|
26
|
-
expect{ wb = Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
26
|
+
expect{ wb = Roo::Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
27
|
+
wb.cell(2,1).should == 'Untie!'
|
28
|
+
end
|
29
|
+
|
30
|
+
it "downloads an excel file from respond_to while specifying filename in direct format" do
|
31
|
+
visit '/useheader.xlsx?set_direct=true'
|
32
|
+
|
33
|
+
page.response_headers['Content-Type'].should == Mime::XLSX.to_s + "; charset=utf-8"
|
34
|
+
page.response_headers['Content-Disposition'].should include("filename=\"filename_test.xlsx\"")
|
35
|
+
|
36
|
+
File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
|
37
|
+
wb = nil
|
38
|
+
expect{ wb = Roo::Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
27
39
|
wb.cell(2,1).should == 'Untie!'
|
28
40
|
end
|
29
41
|
|
@@ -35,7 +47,7 @@ describe 'Axlsx request', :type => :request do
|
|
35
47
|
|
36
48
|
File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
|
37
49
|
wb = nil
|
38
|
-
expect{ wb = Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
50
|
+
expect{ wb = Roo::Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
39
51
|
wb.cell(2,1).should == 'Untie!'
|
40
52
|
end
|
41
53
|
|
@@ -47,7 +59,7 @@ describe 'Axlsx request', :type => :request do
|
|
47
59
|
page.response_headers['Content-Type'].should == Mime::XLSX.to_s + "; charset=utf-8"
|
48
60
|
File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
|
49
61
|
wb = nil
|
50
|
-
expect{ wb = Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
62
|
+
expect{ wb = Roo::Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
51
63
|
wb.cell(3,2).should == 'Bugs'
|
52
64
|
end
|
53
65
|
|
@@ -56,7 +68,7 @@ describe 'Axlsx request', :type => :request do
|
|
56
68
|
page.response_headers['Content-Type'].should == Mime::XLSX.to_s + "; charset=utf-8"
|
57
69
|
File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
|
58
70
|
wb = nil
|
59
|
-
expect{ wb = Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
71
|
+
expect{ wb = Roo::Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
60
72
|
wb.cell(1,1,wb.sheets[0]).should == 'Cover'
|
61
73
|
wb.cell(2,1,wb.sheets[1]).should == "Untie!"
|
62
74
|
end
|
@@ -70,7 +82,7 @@ describe 'Axlsx request', :type => :request do
|
|
70
82
|
page.response_headers['Content-Type'].should == Mime::XLSX.to_s + "; charset=utf-8"
|
71
83
|
File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
|
72
84
|
wb = nil
|
73
|
-
expect{ wb = Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
85
|
+
expect{ wb = Roo::Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
74
86
|
wb.cell(1,1).should == 'Bugs'
|
75
87
|
wb.cell(2,1).should == 'Carrots'
|
76
88
|
wb.cell(3,1).should == 'Celery'
|
@@ -87,10 +99,22 @@ describe 'Axlsx request', :type => :request do
|
|
87
99
|
page.response_headers['Content-Type'].should == Mime::XLSX.to_s
|
88
100
|
File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
|
89
101
|
wb = nil
|
90
|
-
expect{ wb = Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
102
|
+
expect{ wb = Roo::Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
91
103
|
wb.cell(2,2).should == 'Bugs'
|
92
104
|
end
|
93
105
|
|
106
|
+
it "uses respond_with" do
|
107
|
+
User.destroy_all
|
108
|
+
@user = User.create name: 'Responder', last_name: 'Bunny', address: '1234 Right Turn, Albuquerque NM 22222', email: 'bugs@bunny.com'
|
109
|
+
expect {
|
110
|
+
visit "/users/#{@user.id}.xlsx"
|
111
|
+
}.to_not raise_error
|
112
|
+
File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
|
113
|
+
wb = nil
|
114
|
+
expect{ wb = Roo::Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
115
|
+
wb.cell(2,1).should == 'Untie!'
|
116
|
+
end
|
117
|
+
|
94
118
|
unless Rails.version < '3.2'
|
95
119
|
it "handles missing format with render :xlsx" do
|
96
120
|
visit '/another'
|
@@ -100,7 +124,7 @@ describe 'Axlsx request', :type => :request do
|
|
100
124
|
|
101
125
|
File.open('/tmp/axlsx_temp.xlsx', 'w') {|f| f.write(page.source) }
|
102
126
|
wb = nil
|
103
|
-
expect{ wb = Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
127
|
+
expect{ wb = Roo::Excelx.new('/tmp/axlsx_temp.xlsx') }.to_not raise_error
|
104
128
|
wb.cell(2,1).should == 'Untie!'
|
105
129
|
end
|
106
130
|
end
|
data/spec/ci.sh
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
#!/usr/bin/env sh
|
2
|
-
cd spec/dummy && bundle install --without debug && bundle exec rake db:create && bundle exec rake db:migrate && cd ../../ && bundle exec
|
2
|
+
cd spec/dummy && bundle install --without debug && bundle exec rake db:create && bundle exec rake db:migrate && cd ../../ && bundle exec rspec spec
|
@@ -28,8 +28,11 @@ class HomeController < ApplicationController
|
|
28
28
|
def useheader
|
29
29
|
respond_to do |format|
|
30
30
|
format.xlsx {
|
31
|
-
|
32
|
-
|
31
|
+
if params[:set_direct]
|
32
|
+
response.headers['Content-Disposition'] = "attachment; filename=\"filename_test.xlsx\""
|
33
|
+
else
|
34
|
+
render xlsx: "useheader", disposition: "attachment", filename: "filename_test.xlsx"
|
35
|
+
end
|
33
36
|
}
|
34
37
|
end
|
35
38
|
end
|
@@ -1,4 +1,6 @@
|
|
1
1
|
class UsersController < ApplicationController
|
2
|
+
respond_to :xlsx, :html
|
3
|
+
|
2
4
|
# GET /users
|
3
5
|
# GET /users.json
|
4
6
|
def index
|
@@ -9,4 +11,17 @@ class UsersController < ApplicationController
|
|
9
11
|
format.xlsx
|
10
12
|
end
|
11
13
|
end
|
14
|
+
|
15
|
+
def show
|
16
|
+
@user = User.find(params[:id])
|
17
|
+
respond_with(@user) do |format|
|
18
|
+
format.xlsx { render "respond_with.xlsx.axlsx" }
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def send_instructions
|
23
|
+
@user = User.find(params[:user_id])
|
24
|
+
@user.send_instructions
|
25
|
+
render text: "Email sent"
|
26
|
+
end
|
12
27
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class Notifier < ActionMailer::Base
|
2
|
+
default :from => 'noreply@company.com'
|
3
|
+
# default :from => "Didier Leser - CESAM Nature <didier.leser@cesam-nature.com>"
|
4
|
+
|
5
|
+
def instructions(user)
|
6
|
+
@user = user
|
7
|
+
|
8
|
+
# normal syntax
|
9
|
+
xlsx = render handlers: [:axlsx], template: 'users/mailers/instructions', layout: false
|
10
|
+
|
11
|
+
# using render_to_string. sometimes not available, but why??
|
12
|
+
# xlsx = render_to_string handlers: [:axlsx], template: 'users/mailers/instructions', layout: false
|
13
|
+
|
14
|
+
# creating own view
|
15
|
+
# av = ActionView::Base.new()
|
16
|
+
# av.view_paths = ActionController::Base.view_paths
|
17
|
+
# av.extend ApplicationHelper
|
18
|
+
# av.assign user: @user
|
19
|
+
# xlsx = av.render handlers: [:axlsx], template: "users/mailers/instructions"
|
20
|
+
|
21
|
+
attachments["user_#{user.id}.pdf"] = {mime_type: Mime::XLSX, content: xlsx}
|
22
|
+
mail :to => user.email, :subject => 'Instructions'
|
23
|
+
end
|
24
|
+
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<h1>Instructions</h1>
|
8
|
+
<p>
|
9
|
+
You have successfully signed up to example.com,
|
10
|
+
your username is: <%= @user.email %>.<br/>
|
11
|
+
</p>
|
12
|
+
<p>Thanks for joining and have a great day!</p>
|
13
|
+
</body>
|
14
|
+
</html>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
wb = xlsx_package.workbook
|
2
|
+
style_shout = wb.styles.add_style sz: 16, b: true, alignment: { horizontal: :center }
|
3
|
+
wb.add_worksheet(name: "Foobar") do |sheet|
|
4
|
+
sheet.add_row ['Bad', 'spellers', 'of', 'the', 'world', '...']
|
5
|
+
sheet.add_row ['Untie!']
|
6
|
+
sheet.merge_cells("A2:E2")
|
7
|
+
sheet["A2"].style = style_shout
|
8
|
+
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
Dummy::Application.configure do
|
2
2
|
# Settings specified here will take precedence over those in config/application.rb
|
3
|
+
config.eager_load = false if Rails.version >= '4.0'
|
3
4
|
|
4
5
|
# The test environment is used exclusively to run your application's
|
5
6
|
# test suite. You never need to work with it otherwise. Remember that
|
@@ -12,7 +13,7 @@ Dummy::Application.configure do
|
|
12
13
|
config.static_cache_control = "public, max-age=3600"
|
13
14
|
|
14
15
|
# Log error messages when you accidentally call methods on nil
|
15
|
-
config.whiny_nils = true
|
16
|
+
# config.whiny_nils = true
|
16
17
|
|
17
18
|
# Show full error reports and disable caching
|
18
19
|
config.consider_all_requests_local = true
|
@@ -34,4 +35,6 @@ Dummy::Application.configure do
|
|
34
35
|
|
35
36
|
# Print deprecation notices to the stderr
|
36
37
|
config.active_support.deprecation = :stderr
|
38
|
+
|
39
|
+
config.eager_load = false
|
37
40
|
end
|