sitepress-rails 0.1.26 → 1.0.1

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.
@@ -4,43 +4,45 @@ require "sitepress-rails"
4
4
  describe "Sitepress.configuration" do
5
5
  subject { Sitepress.configuration }
6
6
  let(:app) { Dummy::Application.new }
7
- let(:cache_classes) { true }
7
+ let(:cache_classes) { false }
8
8
  before do
9
9
  app.config.eager_load = cache_classes # WTF?
10
- app.config.cache_classes = cache_classes # This is what I really want to test.
11
- app.initialize!
12
10
  end
13
11
  it "has site" do
12
+ app.initialize!
14
13
  expect(subject.site.root_path).to eql(app.root.join("app/content"))
15
14
  end
16
15
  it "has Rails.application as parent engine" do
16
+ app.initialize!
17
17
  expect(subject.parent_engine).to eql(app)
18
18
  end
19
19
  it "has Rails.application as parent engine" do
20
- expect(subject.cache_resources).to be true
20
+ app.initialize!
21
+ expect(subject.cache_resources).to be_nil
21
22
  end
22
23
  it "has routes enabled by default" do
24
+ app.initialize!
23
25
  expect(subject.routes).to be true
24
26
  end
25
27
  context "#cache_resources" do
28
+ before do
29
+ app.config.cache_classes = cache_classes # This is what I really want to test.
30
+ end
26
31
  context "Rails.configuration.cache_classes=true" do
27
32
  let(:cache_classes) { true }
28
33
  it "is true" do
34
+ app.initialize!
29
35
  expect(subject.cache_resources).to eql(true)
30
36
  end
31
37
  end
32
38
  context "Rails.configuration.cache_classes=false" do
33
39
  let(:cache_classes) { false }
34
40
  it "is false" do
41
+ app.initialize!
35
42
  expect(subject.cache_resources).to eql(false)
36
43
  end
37
44
  end
38
45
  end
39
- context "Sitepress::Middleware::RequestCache" do
40
- it "is in Rails middleware stack" do
41
- expect(app.config.middleware).to include(Sitepress::Middleware::RequestCache)
42
- end
43
- end
44
46
  context "Rails.configuration.paths" do
45
47
  subject { Rails.configuration.paths[path].to_a }
46
48
  context "views" do
@@ -1,9 +1,18 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe Sitepress::SiteController, type: :controller do
4
+ # Rails 5 introduces a new format of calling the `get` rspec helper method.
5
+ def get_resource(path)
6
+ if Gem::Version.new(Rails.version) >= Gem::Version.new("5.0.0")
7
+ get :show, params: { resource_path: path }
8
+ else
9
+ get :show, resource_path: path
10
+ end
11
+ end
12
+
4
13
  context "templated page" do
5
14
  render_views
6
- before { get :show, resource_path: "/time" }
15
+ before { get_resource "/time" }
7
16
  let(:resource) { Sitepress.site.get("/time") }
8
17
  it "is status 200" do
9
18
  expect(response.status).to eql(200)
@@ -30,7 +39,7 @@ describe Sitepress::SiteController, type: :controller do
30
39
 
31
40
  context "static page" do
32
41
  render_views
33
- before { get :show, resource_path: "/hi" }
42
+ before { get_resource "/hi" }
34
43
  it "is status 200" do
35
44
  expect(response.status).to eql(200)
36
45
  end
@@ -48,8 +57,32 @@ describe Sitepress::SiteController, type: :controller do
48
57
  context "non-existent page" do
49
58
  it "is status 404" do
50
59
  expect {
51
- get :show, resource_path: "/non-existent"
60
+ get_resource "/non-existent"
52
61
  }.to raise_exception(ActionController::RoutingError)
53
62
  end
54
63
  end
64
+
65
+ context "render cache" do
66
+ context "cache_resources=true" do
67
+ before { Sitepress.site.cache_resources = true }
68
+ it "enables cache" do
69
+ expect(Sitepress.site.cache_resources).to be true
70
+ expect(Sitepress.site).to receive(:cache_resources=).with(true)
71
+ expect(Sitepress.site).to receive(:cache_resources=).with(true)
72
+ get_resource "/time"
73
+ expect(Sitepress.site.cache_resources).to be true
74
+ end
75
+ end
76
+ context "cache_resources=false" do
77
+ before { Sitepress.site.cache_resources = false }
78
+ it "enables cache" do
79
+ expect(Sitepress.site.cache_resources).to be false
80
+ expect(Sitepress.site).to receive(:cache_resources=).with(true)
81
+ expect(Sitepress.site).to receive(:cache_resources=).with(false)
82
+ get_resource "/time"
83
+ expect(Sitepress.site.cache_resources).to be false
84
+ end
85
+ end
86
+
87
+ end
55
88
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sitepress-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.26
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brad Gessler
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-06 00:00:00.000000000 Z
11
+ date: 2020-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: sqlite3
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rspec-rails
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -56,14 +42,14 @@ dependencies:
56
42
  name: rails
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - "~>"
45
+ - - ">="
60
46
  - !ruby/object:Gem::Version
61
47
  version: '4.0'
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - "~>"
52
+ - - ">="
67
53
  - !ruby/object:Gem::Version
68
54
  version: '4.0'
69
55
  - !ruby/object:Gem::Dependency
@@ -72,14 +58,14 @@ dependencies:
72
58
  requirements:
73
59
  - - '='
74
60
  - !ruby/object:Gem::Version
75
- version: 0.1.26
61
+ version: 1.0.1
76
62
  type: :runtime
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
66
  - - '='
81
67
  - !ruby/object:Gem::Version
82
- version: 0.1.26
68
+ version: 1.0.1
83
69
  description:
84
70
  email:
85
71
  - bradgessler@gmail.com
@@ -100,6 +86,7 @@ files:
100
86
  - lib/sitepress/extensions/rails_request_paths.rb
101
87
  - lib/sitepress/rails.rb
102
88
  - lib/sitepress/rails_configuration.rb
89
+ - lib/sitepress/rails_configuration.rb.orig
103
90
  - lib/sitepress/route_constraint.rb
104
91
  - lib/tasks/sitepress_tasks.rake
105
92
  - spec/dummy/Rakefile
@@ -118,7 +105,6 @@ files:
118
105
  - spec/dummy/app/helpers/application_helper.rb
119
106
  - spec/dummy/app/jobs/application_job.rb
120
107
  - spec/dummy/app/mailers/application_mailer.rb
121
- - spec/dummy/app/models/application_record.rb
122
108
  - spec/dummy/app/views/baseline/show.html.erb
123
109
  - spec/dummy/app/views/layouts/application.html.erb
124
110
  - spec/dummy/app/views/layouts/mailer.html.erb
@@ -195,84 +181,82 @@ required_rubygems_version: !ruby/object:Gem::Requirement
195
181
  - !ruby/object:Gem::Version
196
182
  version: '0'
197
183
  requirements: []
198
- rubyforge_project:
199
- rubygems_version: 2.5.2
184
+ rubygems_version: 3.1.2
200
185
  signing_key:
201
186
  specification_version: 4
202
187
  summary: Sitepress rails integration.
203
188
  test_files:
204
- - spec/dummy/app/assets/config/manifest.js
205
- - spec/dummy/app/assets/javascripts/application.js
206
- - spec/dummy/app/assets/javascripts/cable.js
207
- - spec/dummy/app/assets/stylesheets/application.css
208
- - spec/dummy/app/content/helpers/sample_helper.rb
189
+ - spec/spec_helper.rb
190
+ - spec/sitepress-rails_spec.rb
191
+ - spec/dummy/app/mailers/application_mailer.rb
209
192
  - spec/dummy/app/content/layouts/sitepress_test_layout.html.erb
193
+ - spec/dummy/app/content/pages/time.html.erb
210
194
  - spec/dummy/app/content/pages/_stupid.html.erb
211
195
  - spec/dummy/app/content/pages/hi.html
212
196
  - spec/dummy/app/content/pages/partials/_really_stupid.html.erb
213
- - spec/dummy/app/content/pages/time.html.erb
197
+ - spec/dummy/app/content/helpers/sample_helper.rb
198
+ - spec/dummy/app/jobs/application_job.rb
214
199
  - spec/dummy/app/controllers/application_controller.rb
215
200
  - spec/dummy/app/controllers/baseline_controller.rb
216
- - spec/dummy/app/helpers/application_helper.rb
217
- - spec/dummy/app/jobs/application_job.rb
218
- - spec/dummy/app/mailers/application_mailer.rb
219
- - spec/dummy/app/models/application_record.rb
220
201
  - spec/dummy/app/views/baseline/show.html.erb
221
202
  - spec/dummy/app/views/layouts/application.html.erb
222
203
  - spec/dummy/app/views/layouts/mailer.html.erb
223
204
  - spec/dummy/app/views/layouts/mailer.text.erb
224
- - spec/dummy/bin/bundle
225
- - spec/dummy/bin/rails
205
+ - spec/dummy/app/assets/config/manifest.js
206
+ - spec/dummy/app/assets/javascripts/cable.js
207
+ - spec/dummy/app/assets/javascripts/application.js
208
+ - spec/dummy/app/assets/stylesheets/application.css
209
+ - spec/dummy/app/helpers/application_helper.rb
210
+ - spec/dummy/bin/update
226
211
  - spec/dummy/bin/rake
227
212
  - spec/dummy/bin/setup
228
- - spec/dummy/bin/update
229
- - spec/dummy/config/application.rb
230
- - spec/dummy/config/boot.rb
213
+ - spec/dummy/bin/bundle
214
+ - spec/dummy/bin/rails
215
+ - spec/dummy/config/secrets.yml
216
+ - spec/dummy/config/routes.rb
217
+ - spec/dummy/config/locales/en.yml
231
218
  - spec/dummy/config/cable.yml
232
- - spec/dummy/config/database.yml
233
- - spec/dummy/config/environment.rb
234
- - spec/dummy/config/environments/development.rb
235
219
  - spec/dummy/config/environments/production.rb
220
+ - spec/dummy/config/environments/development.rb
236
221
  - spec/dummy/config/environments/test.rb
222
+ - spec/dummy/config/spring.rb
223
+ - spec/dummy/config/environment.rb
224
+ - spec/dummy/config/application.rb
225
+ - spec/dummy/config/puma.rb
226
+ - spec/dummy/config/database.yml
227
+ - spec/dummy/config/boot.rb
237
228
  - spec/dummy/config/initializers/application_controller_renderer.rb
238
- - spec/dummy/config/initializers/assets.rb
239
229
  - spec/dummy/config/initializers/backtrace_silencers.rb
240
- - spec/dummy/config/initializers/cookies_serializer.rb
241
- - spec/dummy/config/initializers/filter_parameter_logging.rb
242
- - spec/dummy/config/initializers/inflections.rb
243
- - spec/dummy/config/initializers/mime_types.rb
244
230
  - spec/dummy/config/initializers/null_logger.rb
231
+ - spec/dummy/config/initializers/mime_types.rb
232
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
245
233
  - spec/dummy/config/initializers/session_store.rb
246
234
  - spec/dummy/config/initializers/wrap_parameters.rb
247
- - spec/dummy/config/locales/en.yml
248
- - spec/dummy/config/puma.rb
249
- - spec/dummy/config/routes.rb
250
- - spec/dummy/config/secrets.yml
251
- - spec/dummy/config/spring.rb
235
+ - spec/dummy/config/initializers/assets.rb
236
+ - spec/dummy/config/initializers/cookies_serializer.rb
237
+ - spec/dummy/config/initializers/inflections.rb
252
238
  - spec/dummy/config.ru
253
- - spec/dummy/db/production.sqlite3
254
- - spec/dummy/db/test.sqlite3
255
- - spec/dummy/log/production.log
256
- - spec/dummy/log/test.log
257
- - spec/dummy/public/404.html
239
+ - spec/dummy/Rakefile
240
+ - spec/dummy/public/favicon.ico
258
241
  - spec/dummy/public/422.html
242
+ - spec/dummy/public/apple-touch-icon.png
259
243
  - spec/dummy/public/500.html
244
+ - spec/dummy/public/404.html
260
245
  - spec/dummy/public/apple-touch-icon-precomposed.png
261
- - spec/dummy/public/apple-touch-icon.png
262
- - spec/dummy/public/favicon.ico
263
- - spec/dummy/Rakefile
264
- - spec/sitepress/extensions/index_request_path_spec.rb
265
- - spec/sitepress/extensions/partials_remover_spec.rb
266
- - spec/sitepress/extensions/rails_request_paths_spec.rb
267
- - spec/sitepress/rails_configuration_spec.rb
268
- - spec/sitepress/route_constraint_spec.rb
269
- - spec/sitepress/routes_spec.rb
270
- - spec/sitepress/sitepress_site_controller_spec.rb
271
- - spec/sitepress-rails_spec.rb
246
+ - spec/dummy/db/production.sqlite3
247
+ - spec/dummy/db/test.sqlite3
248
+ - spec/dummy/log/test.log
249
+ - spec/dummy/log/production.log
272
250
  - spec/sites/sample/pages/index.html.erb
273
- - spec/sites/sample/pages/nothing
251
+ - spec/sites/sample/pages/test.html.haml
274
252
  - spec/sites/sample/pages/sin_frontmatter.html.haml
275
253
  - spec/sites/sample/pages/super.duper/index.html
276
- - spec/sites/sample/pages/test.html.haml
254
+ - spec/sites/sample/pages/nothing
277
255
  - spec/sites/sample/pages/text.txt
278
- - spec/spec_helper.rb
256
+ - spec/sitepress/extensions/rails_request_paths_spec.rb
257
+ - spec/sitepress/extensions/partials_remover_spec.rb
258
+ - spec/sitepress/extensions/index_request_path_spec.rb
259
+ - spec/sitepress/sitepress_site_controller_spec.rb
260
+ - spec/sitepress/rails_configuration_spec.rb
261
+ - spec/sitepress/routes_spec.rb
262
+ - spec/sitepress/route_constraint_spec.rb
@@ -1,3 +0,0 @@
1
- class ApplicationRecord < ActiveRecord::Base
2
- self.abstract_class = true
3
- end