sitepress-rails 2.0.0 → 3.1.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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -19
  3. data/bin/rails +2 -2
  4. data/lib/sitepress/engine.rb +2 -0
  5. data/lib/sitepress/model.rb +68 -0
  6. data/lib/sitepress/models/collection.rb +34 -0
  7. data/lib/sitepress/rails.rb +14 -1
  8. data/lib/sitepress/rails_configuration.rb +1 -4
  9. data/lib/sitepress/route_constraint.rb +3 -1
  10. data/lib/sitepress/routing_mapper.rb +31 -0
  11. data/rails/app/controllers/concerns/sitepress/site_pages.rb +2 -1
  12. data/rails/lib/generators/sitepress/controller/USAGE +8 -0
  13. data/rails/lib/generators/sitepress/controller/controller_generator.rb +19 -0
  14. data/rails/lib/generators/sitepress/controller/templates/controllers/site_controller.rb +17 -0
  15. data/rails/lib/generators/sitepress/install/USAGE +10 -0
  16. data/rails/lib/generators/sitepress/install/install_generator.rb +14 -0
  17. data/rails/lib/generators/sitepress/install/templates/helpers/page_helper.rb +29 -0
  18. data/rails/lib/generators/sitepress/install/templates/models/page_model.rb +4 -0
  19. data/rails/lib/generators/sitepress/install/templates/pages/index.html.erb +43 -0
  20. data/rails/test/lib/generators/sitepress/controller_generator_test.rb +14 -0
  21. data/rails/test/lib/generators/sitepress/install_generator_test.rb +14 -0
  22. data/sitepress-rails.gemspec +3 -2
  23. data/spec/dummy/app/content/models/page_model.rb +4 -0
  24. data/spec/dummy/config/routes.rb +1 -0
  25. data/spec/dummy/log/test.log +175 -81066
  26. data/spec/sitepress/model_spec.rb +35 -0
  27. data/spec/sitepress/routes_spec.rb +7 -22
  28. data/spec/sitepress-rails_spec.rb +7 -22
  29. data/spec/spec_helper.rb +15 -0
  30. metadata +24 -12
  31. data/rails/config/routes.rb +0 -12
  32. data/spec/dummy/db/test.sqlite3 +0 -0
  33. data/spec/dummy/log/production.log +0 -1976
@@ -0,0 +1,35 @@
1
+ require "spec_helper"
2
+ require "tmpdir"
3
+ require "fileutils"
4
+
5
+ describe Sitepress::Model do
6
+ let(:model) { PageModel }
7
+
8
+ describe "#all" do
9
+ subject { model.all }
10
+ context "models" do
11
+ it "has correct count" do
12
+ expect(subject.count).to eql 3
13
+ end
14
+ it "is instances of model" do
15
+ expect(subject.first).to be_instance_of PageModel
16
+ end
17
+ end
18
+ describe "#resources" do
19
+ subject { model.all.resources }
20
+ it "has correct count" do
21
+ expect(subject.count).to eql 3
22
+ end
23
+ it "is instances of pages" do
24
+ expect(subject.first).to be_instance_of Sitepress::Resource
25
+ end
26
+ end
27
+ end
28
+
29
+ describe ".data" do
30
+ subject { model.first }
31
+ it "defines #title method" do
32
+ expect(subject).to respond_to :title
33
+ end
34
+ end
35
+ end
@@ -1,28 +1,13 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe "Sitepress routes", type: :routing do
4
- context "routes enabled" do
5
- before do
6
- Sitepress.configuration.routes = true
7
- Rails.application.reload_routes!
8
- end
9
- it "generates link" do
10
- expect(page_path("hi")).to eql("/hi")
11
- end
12
- it "is routable" do
13
- expect(get("/hi")).to route_to(controller: "sitepress/site", action: "show", resource_path: "hi")
14
- end
4
+ before do
5
+ Rails.application.reload_routes!
15
6
  end
16
- context "routes disabled" do
17
- before do
18
- Sitepress.configuration.routes = false
19
- Rails.application.reload_routes!
20
- end
21
- it "is not routable" do
22
- expect(get("/hi")).to_not be_routable
23
- end
24
- it "does not generate link" do
25
- expect{page_path("hi")}.to raise_exception(NoMethodError)
26
- end
7
+ it "generates link" do
8
+ expect(page_path("hi")).to eql("/hi")
9
+ end
10
+ it "is routable" do
11
+ expect(get("/hi")).to route_to(controller: "sitepress/site", action: "show", resource_path: "hi")
27
12
  end
28
13
  end
@@ -2,31 +2,16 @@ require "spec_helper"
2
2
  require "sitepress-rails"
3
3
 
4
4
  describe "Sitepress.configuration" do
5
+ let(:app) { Rails.application }
5
6
  subject { Sitepress.configuration }
6
- let(:app) { Dummy::Application.new }
7
- before do
8
- # Why set to true? Because according to Rails:
9
- #
10
- # .config.eager_load is set to nil. Please update your config/environments/*.rb files accordingly:
11
- #
12
- # * development - set it to false
13
- # * test - set it to false (unless you use a tool that preloads your test environment)
14
- # * production - set it to true
15
- #
16
- # The view initializer for haml runs in a `ActiveSupport.on_load(:action_view)`, which requires
17
- # `eager_load = true` to test.
18
- app.config.eager_load = true
19
- end
7
+
20
8
  it "has Rails.application as parent engine" do
21
- app.initialize!
22
9
  expect(subject.parent_engine).to eql(app)
23
10
  end
24
- it "has routes enabled by default" do
25
- app.initialize!
26
- expect(subject.routes).to be true
27
- end
28
- it "sets Sitepress::Path.template_extensions" do
29
- app.initialize!
30
- expect(Sitepress::Path.handler_extensions).to eql([:raw, :erb, :html, :builder, :ruby])
11
+
12
+ describe "Sitepress::Path.template_extensions" do
13
+ subject { Sitepress::Path.handler_extensions }
14
+ it { is_expected.to eql ActionView::Template::Handlers.extensions }
15
+ it { is_expected.to_not be_empty }
31
16
  end
32
17
  end
data/spec/spec_helper.rb CHANGED
@@ -6,6 +6,21 @@ require File.expand_path("../dummy/config/environment.rb", __FILE__)
6
6
  require "rspec/rails"
7
7
  require "pry"
8
8
 
9
+ Rails.application.configure do
10
+ # Why set to true? Because according to Rails:
11
+ #
12
+ # .config.eager_load is set to nil. Please update your config/environments/*.rb files accordingly:
13
+ #
14
+ # * development - set it to false
15
+ # * test - set it to false (unless you use a tool that preloads your test environment)
16
+ # * production - set it to true
17
+ #
18
+ # The view initializer for haml runs in a `ActiveSupport.on_load(:action_view)`, which requires
19
+ # `eager_load = true` to test.
20
+ config.eager_load = true
21
+ end
22
+
23
+ # Suppress error output during testing.
9
24
  Rails.backtrace_cleaner.remove_silencers!
10
25
 
11
26
  # Load support files
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sitepress-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 3.1.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: 2021-08-02 00:00:00.000000000 Z
11
+ date: 2022-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec-rails
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '4.0'
47
+ version: '6.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '4.0'
54
+ version: '6.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: sitepress-core
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 2.0.0
61
+ version: 3.1.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 2.0.0
68
+ version: 3.1.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: railties
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -125,16 +125,28 @@ files:
125
125
  - lib/sitepress/build_paths/root_path.rb
126
126
  - lib/sitepress/compiler.rb
127
127
  - lib/sitepress/engine.rb
128
+ - lib/sitepress/model.rb
129
+ - lib/sitepress/models/collection.rb
128
130
  - lib/sitepress/rails.rb
129
131
  - lib/sitepress/rails_configuration.rb
130
132
  - lib/sitepress/renderers/controller.rb
131
133
  - lib/sitepress/renderers/server.rb
132
134
  - lib/sitepress/rendition.rb
133
135
  - lib/sitepress/route_constraint.rb
136
+ - lib/sitepress/routing_mapper.rb
134
137
  - lib/tasks/sitepress_tasks.rake
135
138
  - rails/app/controllers/concerns/sitepress/site_pages.rb
136
139
  - rails/app/controllers/sitepress/site_controller.rb
137
- - rails/config/routes.rb
140
+ - rails/lib/generators/sitepress/controller/USAGE
141
+ - rails/lib/generators/sitepress/controller/controller_generator.rb
142
+ - rails/lib/generators/sitepress/controller/templates/controllers/site_controller.rb
143
+ - rails/lib/generators/sitepress/install/USAGE
144
+ - rails/lib/generators/sitepress/install/install_generator.rb
145
+ - rails/lib/generators/sitepress/install/templates/helpers/page_helper.rb
146
+ - rails/lib/generators/sitepress/install/templates/models/page_model.rb
147
+ - rails/lib/generators/sitepress/install/templates/pages/index.html.erb
148
+ - rails/test/lib/generators/sitepress/controller_generator_test.rb
149
+ - rails/test/lib/generators/sitepress/install_generator_test.rb
138
150
  - sitepress-rails.gemspec
139
151
  - spec/dummy/Rakefile
140
152
  - spec/dummy/app/assets/config/manifest.js
@@ -143,6 +155,7 @@ files:
143
155
  - spec/dummy/app/assets/stylesheets/application.css
144
156
  - spec/dummy/app/content/helpers/sample_helper.rb
145
157
  - spec/dummy/app/content/layouts/sitepress_test_layout.html.erb
158
+ - spec/dummy/app/content/models/page_model.rb
146
159
  - spec/dummy/app/content/pages/_stupid.html.erb
147
160
  - spec/dummy/app/content/pages/all_pages.html.erb
148
161
  - spec/dummy/app/content/pages/hi.html
@@ -186,8 +199,6 @@ files:
186
199
  - spec/dummy/config/routes.rb
187
200
  - spec/dummy/config/secrets.yml
188
201
  - spec/dummy/config/spring.rb
189
- - spec/dummy/db/test.sqlite3
190
- - spec/dummy/log/production.log
191
202
  - spec/dummy/log/test.log
192
203
  - spec/dummy/public/404.html
193
204
  - spec/dummy/public/422.html
@@ -197,6 +208,7 @@ files:
197
208
  - spec/dummy/public/favicon.ico
198
209
  - spec/sitepress-rails_spec.rb
199
210
  - spec/sitepress/compiler_spec.rb
211
+ - spec/sitepress/model_spec.rb
200
212
  - spec/sitepress/rails_configuration_spec.rb
201
213
  - spec/sitepress/route_constraint_spec.rb
202
214
  - spec/sitepress/routes_spec.rb
@@ -227,7 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
227
239
  - !ruby/object:Gem::Version
228
240
  version: '0'
229
241
  requirements: []
230
- rubygems_version: 3.2.3
242
+ rubygems_version: 3.3.7
231
243
  signing_key:
232
244
  specification_version: 4
233
245
  summary: Sitepress rails integration.
@@ -239,6 +251,7 @@ test_files:
239
251
  - spec/dummy/app/assets/stylesheets/application.css
240
252
  - spec/dummy/app/content/helpers/sample_helper.rb
241
253
  - spec/dummy/app/content/layouts/sitepress_test_layout.html.erb
254
+ - spec/dummy/app/content/models/page_model.rb
242
255
  - spec/dummy/app/content/pages/_stupid.html.erb
243
256
  - spec/dummy/app/content/pages/all_pages.html.erb
244
257
  - spec/dummy/app/content/pages/hi.html
@@ -282,8 +295,6 @@ test_files:
282
295
  - spec/dummy/config/secrets.yml
283
296
  - spec/dummy/config/spring.rb
284
297
  - spec/dummy/config.ru
285
- - spec/dummy/db/test.sqlite3
286
- - spec/dummy/log/production.log
287
298
  - spec/dummy/log/test.log
288
299
  - spec/dummy/public/404.html
289
300
  - spec/dummy/public/422.html
@@ -292,6 +303,7 @@ test_files:
292
303
  - spec/dummy/public/apple-touch-icon.png
293
304
  - spec/dummy/public/favicon.ico
294
305
  - spec/sitepress/compiler_spec.rb
306
+ - spec/sitepress/model_spec.rb
295
307
  - spec/sitepress/rails_configuration_spec.rb
296
308
  - spec/sitepress/route_constraint_spec.rb
297
309
  - spec/sitepress/routes_spec.rb
@@ -1,12 +0,0 @@
1
- Sitepress.configuration.parent_engine.routes.draw do
2
- if Sitepress.configuration.routes
3
- constraints Sitepress::RouteConstraint.new do
4
- get "*resource_path", controller: "sitepress/site", action: "show", as: :page, format: false
5
- if has_named_route? :root
6
- Rails.logger.warn 'Sitepress tried to configure `root to: "sitepress/site#show"`, but a root route was already defined.'
7
- else
8
- root to: "sitepress/site#show"
9
- end
10
- end
11
- end
12
- end
File without changes