locomotivecms_steam 1.4.1 → 1.5.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (173) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +31 -25
  4. data/Rakefile +2 -2
  5. data/config/locales/pt-BR.yml +43 -13
  6. data/lib/locomotive/steam.rb +9 -4
  7. data/lib/locomotive/steam/adapters/filesystem.rb +2 -7
  8. data/lib/locomotive/steam/adapters/filesystem/sanitizer.rb +0 -2
  9. data/lib/locomotive/steam/adapters/filesystem/sanitizers/page.rb +11 -0
  10. data/lib/locomotive/steam/adapters/filesystem/sanitizers/section.rb +37 -0
  11. data/lib/locomotive/steam/adapters/filesystem/sanitizers/site.rb +18 -0
  12. data/lib/locomotive/steam/adapters/filesystem/yaml_loaders/content_entry.rb +4 -3
  13. data/lib/locomotive/steam/adapters/filesystem/yaml_loaders/content_type.rb +4 -3
  14. data/lib/locomotive/steam/adapters/filesystem/yaml_loaders/section.rb +40 -0
  15. data/lib/locomotive/steam/adapters/filesystem/yaml_loaders/snippet.rb +0 -1
  16. data/lib/locomotive/steam/adapters/memory.rb +1 -1
  17. data/lib/locomotive/steam/entities/content_entry.rb +15 -3
  18. data/lib/locomotive/steam/entities/content_type.rb +2 -1
  19. data/lib/locomotive/steam/entities/page.rb +21 -19
  20. data/lib/locomotive/steam/entities/section.rb +24 -0
  21. data/lib/locomotive/steam/entities/site.rb +3 -1
  22. data/lib/locomotive/steam/liquid.rb +2 -0
  23. data/lib/locomotive/steam/liquid/drops/page.rb +4 -2
  24. data/lib/locomotive/steam/liquid/drops/params.rb +51 -0
  25. data/lib/locomotive/steam/liquid/drops/section.rb +56 -0
  26. data/lib/locomotive/steam/liquid/drops/section_block.rb +47 -0
  27. data/lib/locomotive/steam/liquid/drops/section_content_proxy.rb +97 -0
  28. data/lib/locomotive/steam/liquid/drops/section_editor_setting_data.rb +65 -0
  29. data/lib/locomotive/steam/liquid/drops/site.rb +2 -1
  30. data/lib/locomotive/steam/liquid/errors.rb +2 -0
  31. data/lib/locomotive/steam/liquid/filters/base.rb +3 -3
  32. data/lib/locomotive/steam/liquid/filters/date.rb +1 -1
  33. data/lib/locomotive/steam/liquid/filters/html.rb +7 -2
  34. data/lib/locomotive/steam/liquid/filters/json.rb +3 -1
  35. data/lib/locomotive/steam/liquid/tags/action.rb +2 -2
  36. data/lib/locomotive/steam/liquid/tags/alt_page_links.rb +63 -0
  37. data/lib/locomotive/steam/liquid/tags/concerns/i18n_page.rb +1 -1
  38. data/lib/locomotive/steam/liquid/tags/concerns/section.rb +117 -0
  39. data/lib/locomotive/steam/liquid/tags/global_section.rb +32 -0
  40. data/lib/locomotive/steam/liquid/tags/model_form.rb +1 -1
  41. data/lib/locomotive/steam/liquid/tags/section.rb +87 -0
  42. data/lib/locomotive/steam/liquid/tags/sections_dropzone.rb +56 -0
  43. data/lib/locomotive/steam/liquid/tags/snippet.rb +3 -2
  44. data/lib/locomotive/steam/liquid/template.rb +0 -5
  45. data/lib/locomotive/steam/middlewares.rb +1 -1
  46. data/lib/locomotive/steam/middlewares/auth.rb +29 -13
  47. data/lib/locomotive/steam/middlewares/concerns/helpers.rb +59 -0
  48. data/lib/locomotive/steam/middlewares/concerns/liquid_context.rb +94 -0
  49. data/lib/locomotive/steam/middlewares/encoded_link_redirection.rb +45 -0
  50. data/lib/locomotive/steam/middlewares/entry_submission.rb +1 -1
  51. data/lib/locomotive/steam/middlewares/favicon.rb +1 -1
  52. data/lib/locomotive/steam/middlewares/locale.rb +63 -15
  53. data/lib/locomotive/steam/middlewares/locale_redirection.rb +18 -6
  54. data/lib/locomotive/steam/middlewares/logging.rb +1 -1
  55. data/lib/locomotive/steam/middlewares/page.rb +35 -6
  56. data/lib/locomotive/steam/middlewares/path.rb +1 -1
  57. data/lib/locomotive/steam/middlewares/private_access.rb +1 -1
  58. data/lib/locomotive/steam/middlewares/redirection.rb +1 -1
  59. data/lib/locomotive/steam/middlewares/renderer.rb +2 -82
  60. data/lib/locomotive/steam/middlewares/robots.rb +1 -1
  61. data/lib/locomotive/steam/middlewares/section.rb +56 -0
  62. data/lib/locomotive/steam/middlewares/site.rb +1 -1
  63. data/lib/locomotive/steam/middlewares/sitemap.rb +58 -45
  64. data/lib/locomotive/steam/middlewares/templatized_page.rb +1 -1
  65. data/lib/locomotive/steam/middlewares/thread_safe.rb +85 -2
  66. data/lib/locomotive/steam/middlewares/timezone.rb +1 -1
  67. data/lib/locomotive/steam/middlewares/url_redirection.rb +1 -1
  68. data/lib/locomotive/steam/models/entity.rb +0 -2
  69. data/lib/locomotive/steam/models/mapper.rb +5 -3
  70. data/lib/locomotive/steam/models/scope.rb +8 -0
  71. data/lib/locomotive/steam/repositories.rb +4 -0
  72. data/lib/locomotive/steam/repositories/content_entry_repository.rb +6 -2
  73. data/lib/locomotive/steam/repositories/page_repository.rb +4 -1
  74. data/lib/locomotive/steam/repositories/section_repository.rb +14 -0
  75. data/lib/locomotive/steam/repositories/site_repository.rb +1 -1
  76. data/lib/locomotive/steam/repositories/snippet_repository.rb +0 -3
  77. data/lib/locomotive/steam/server.rb +3 -1
  78. data/lib/locomotive/steam/services.rb +17 -1
  79. data/lib/locomotive/steam/services/action_service.rb +10 -0
  80. data/lib/locomotive/steam/services/concerns/decorator.rb +0 -2
  81. data/lib/locomotive/steam/services/image_resizer_service.rb +1 -1
  82. data/lib/locomotive/steam/services/page_finder_service.rb +6 -0
  83. data/lib/locomotive/steam/services/section_finder_service.rb +17 -0
  84. data/lib/locomotive/steam/services/url_builder_service.rb +31 -17
  85. data/lib/locomotive/steam/services/url_finder_service.rb +87 -0
  86. data/lib/locomotive/steam/version.rb +2 -2
  87. data/locomotivecms_steam.gemspec +1 -1
  88. data/spec/fixtures/default/app/views/pages/tags/section.liquid.haml +11 -0
  89. data/spec/fixtures/default/app/views/sections/carousel.liquid +20 -0
  90. data/spec/fixtures/default/app/views/sections/footer.liquid +48 -0
  91. data/spec/fixtures/default/app/views/sections/header.liquid +54 -0
  92. data/spec/fixtures/default/config/deploy.yml +1 -1
  93. data/spec/fixtures/errors/section_bad_json_content.liquid +9 -0
  94. data/spec/fixtures/errors/section_bad_json_header.liquid +8 -0
  95. data/spec/fixtures/mongodb/locomotive_accounts.bson +0 -0
  96. data/spec/fixtures/mongodb/locomotive_accounts.metadata.json +1 -1
  97. data/spec/fixtures/mongodb/locomotive_activities.bson +0 -0
  98. data/spec/fixtures/mongodb/locomotive_activities.metadata.json +1 -1
  99. data/spec/fixtures/mongodb/locomotive_content_assets.bson +0 -0
  100. data/spec/fixtures/mongodb/locomotive_content_assets.metadata.json +1 -1
  101. data/spec/fixtures/mongodb/locomotive_content_entries.bson +0 -0
  102. data/spec/fixtures/mongodb/locomotive_content_entries.metadata.json +1 -1
  103. data/spec/fixtures/mongodb/locomotive_content_types.bson +0 -0
  104. data/spec/fixtures/mongodb/locomotive_content_types.metadata.json +1 -1
  105. data/spec/fixtures/mongodb/locomotive_pages.bson +0 -0
  106. data/spec/fixtures/mongodb/locomotive_pages.metadata.json +1 -1
  107. data/spec/fixtures/mongodb/locomotive_sections.bson +0 -0
  108. data/spec/fixtures/mongodb/{sessions.metadata.json → locomotive_sections.metadata.json} +1 -1
  109. data/spec/fixtures/mongodb/locomotive_sites.bson +0 -0
  110. data/spec/fixtures/mongodb/locomotive_sites.metadata.json +1 -1
  111. data/spec/fixtures/mongodb/locomotive_snippets.bson +0 -0
  112. data/spec/fixtures/mongodb/locomotive_snippets.metadata.json +1 -1
  113. data/spec/fixtures/mongodb/locomotive_theme_assets.bson +0 -0
  114. data/spec/fixtures/mongodb/locomotive_theme_assets.metadata.json +1 -1
  115. data/spec/fixtures/mongodb/locomotive_translations.bson +0 -0
  116. data/spec/fixtures/mongodb/locomotive_translations.metadata.json +1 -1
  117. data/spec/integration/repositories/content_entry_repository_spec.rb +1 -1
  118. data/spec/integration/repositories/page_repository_spec.rb +1 -1
  119. data/spec/integration/repositories/theme_asset_repository_spec.rb +1 -1
  120. data/spec/integration/server/auth_spec.rb +0 -4
  121. data/spec/integration/server/basic_spec.rb +8 -0
  122. data/spec/integration/server/contact_form_spec.rb +15 -2
  123. data/spec/integration/server/sitemap_spec.rb +5 -3
  124. data/spec/integration/services/content_entry_service_spec.rb +1 -1
  125. data/spec/support/helpers.rb +3 -3
  126. data/spec/unit/adapters/filesystem/sanitizers/section_spec.rb +65 -0
  127. data/spec/unit/adapters/filesystem/sanitizers/site_spec.rb +28 -2
  128. data/spec/unit/adapters/filesystem/yaml_loaders/content_entry_spec.rb +8 -4
  129. data/spec/unit/adapters/filesystem/yaml_loaders/content_type_spec.rb +2 -2
  130. data/spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb +1 -1
  131. data/spec/unit/adapters/filesystem/yaml_loaders/section_spec.rb +27 -0
  132. data/spec/unit/entities/section_spec.rb +29 -0
  133. data/spec/unit/liquid/drops/params_spec.rb +38 -0
  134. data/spec/unit/liquid/drops/section_content_proxy_spec.rb +88 -0
  135. data/spec/unit/liquid/drops/section_spec.rb +26 -0
  136. data/spec/unit/liquid/filters/html_spec.rb +198 -170
  137. data/spec/unit/liquid/filters/json_spec.rb +7 -0
  138. data/spec/unit/liquid/tags/action_spec.rb +12 -2
  139. data/spec/unit/liquid/tags/alt_page_links_spec.rb +58 -0
  140. data/spec/unit/liquid/tags/global_section_spec.rb +130 -0
  141. data/spec/unit/liquid/tags/link_to_spec.rb +1 -1
  142. data/spec/unit/liquid/tags/locale_switcher_spec.rb +1 -1
  143. data/spec/unit/liquid/tags/model_form_spec.rb +8 -0
  144. data/spec/unit/liquid/tags/path_to_spec.rb +26 -3
  145. data/spec/unit/liquid/tags/section_spec.rb +231 -0
  146. data/spec/unit/liquid/tags/sections_dropzone_spec.rb +107 -0
  147. data/spec/unit/middlewares/auth_spec.rb +9 -2
  148. data/spec/unit/middlewares/encoded_link_redirection_spec.rb +73 -0
  149. data/spec/unit/middlewares/entry_submission_spec.rb +1 -1
  150. data/spec/unit/middlewares/helpers_spec.rb +3 -64
  151. data/spec/unit/middlewares/locale_redirection_spec.rb +13 -2
  152. data/spec/unit/middlewares/locale_spec.rb +52 -10
  153. data/spec/unit/middlewares/page_spec.rb +57 -16
  154. data/spec/unit/middlewares/private_access_spec.rb +1 -1
  155. data/spec/unit/middlewares/redirection_spec.rb +1 -1
  156. data/spec/unit/middlewares/renderer_spec.rb +2 -1
  157. data/spec/unit/middlewares/section_spec.rb +70 -0
  158. data/spec/unit/middlewares/site_spec.rb +1 -1
  159. data/spec/unit/middlewares/sitemap_spec.rb +4 -42
  160. data/spec/unit/middlewares/url_redirection_spec.rb +1 -1
  161. data/spec/unit/repositories/content_entry_repository_spec.rb +13 -13
  162. data/spec/unit/repositories/section_repository_spec.rb +38 -0
  163. data/spec/unit/repositories/snippet_repository_spec.rb +0 -3
  164. data/spec/unit/services/action_service_spec.rb +19 -1
  165. data/spec/unit/services/asset_host_service_spec.rb +8 -0
  166. data/spec/unit/services/parent_finder_service_spec.rb +1 -2
  167. data/spec/unit/services/section_finder_service_spec.rb +28 -0
  168. data/spec/unit/services/url_builder_service_spec.rb +14 -4
  169. data/spec/unit/services/url_finder_service_spec.rb +100 -0
  170. data/spec/unit/services_spec.rb +34 -20
  171. metadata +72 -11
  172. data/lib/locomotive/steam/middlewares/helpers.rb +0 -140
  173. data/spec/fixtures/mongodb/sessions.bson +0 -0
@@ -2,41 +2,55 @@ require 'spec_helper'
2
2
 
3
3
  describe Locomotive::Steam::Services do
4
4
 
5
- subject { Locomotive::Steam::Services.build_instance(nil) }
5
+ describe '#build_instance' do
6
6
 
7
- describe 'configuration with a services hook' do
7
+ subject { Locomotive::Steam::Services.build_instance(nil) }
8
8
 
9
- before do
10
- Locomotive::Steam.configure do |config|
11
- config.services_hook = -> (services) {
12
- services.repositories = MyService.new
13
- }
14
- end
15
- end
16
-
17
- after { Locomotive::Steam.configure { |c| c.services_hook = nil } }
18
-
19
- it { expect(subject.repositories).to be_instance_of(MyService) }
20
-
21
- describe '#defer' do
22
-
23
- let(:status) { { initialized: false } }
9
+ describe 'configuration with a services hook' do
24
10
 
25
11
  before do
26
12
  Locomotive::Steam.configure do |config|
27
13
  config.services_hook = -> (services) {
28
- services.defer(:repositories) { MyService.new(status) }
14
+ services.repositories = MyService.new
29
15
  }
30
16
  end
31
17
  end
32
18
 
33
- it { subject.repositories; expect(status[:initialized]).to eq false }
34
- it { subject.repositories.do; expect(status[:initialized]).to eq true }
19
+ after { Locomotive::Steam.configure { |c| c.services_hook = nil } }
20
+
21
+ it { expect(subject.repositories).to be_instance_of(MyService) }
22
+
23
+ describe '#defer' do
24
+
25
+ let(:status) { { initialized: false } }
26
+
27
+ before do
28
+ Locomotive::Steam.configure do |config|
29
+ config.services_hook = -> (services) {
30
+ services.defer(:repositories) { MyService.new(status) }
31
+ }
32
+ end
33
+ end
34
+
35
+ it { subject.repositories; expect(status[:initialized]).to eq false }
36
+ it { subject.repositories.do; expect(status[:initialized]).to eq true }
37
+
38
+ end
35
39
 
36
40
  end
37
41
 
38
42
  end
39
43
 
44
+ describe 'build_simple_instance' do
45
+
46
+ let(:site) { instance_double('Site', name: 'My awesome site') }
47
+
48
+ subject { Locomotive::Steam::Services.build_simple_instance(site) }
49
+
50
+ it { expect(subject.current_site.name).to eq('My awesome site') }
51
+
52
+ end
53
+
40
54
  class MyService
41
55
  def initialize(status = {})
42
56
  status[:initialized] = true
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: locomotivecms_steam
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.5.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Didier Lafforgue
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2018-11-15 00:00:00.000000000 Z
14
+ date: 2018-11-30 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
@@ -411,14 +411,14 @@ dependencies:
411
411
  requirements:
412
412
  - - "~>"
413
413
  - !ruby/object:Gem::Version
414
- version: 0.3.0
414
+ version: 0.3.1
415
415
  type: :runtime
416
416
  prerelease: false
417
417
  version_requirements: !ruby/object:Gem::Requirement
418
418
  requirements:
419
419
  - - "~>"
420
420
  - !ruby/object:Gem::Version
421
- version: 0.3.0
421
+ version: 0.3.1
422
422
  description: The LocomotiveCMS Steam is the rendering stack used by both Wagon and
423
423
  Engine
424
424
  email:
@@ -458,6 +458,7 @@ files:
458
458
  - lib/locomotive/steam/adapters/filesystem/sanitizers/content_entry.rb
459
459
  - lib/locomotive/steam/adapters/filesystem/sanitizers/content_type.rb
460
460
  - lib/locomotive/steam/adapters/filesystem/sanitizers/page.rb
461
+ - lib/locomotive/steam/adapters/filesystem/sanitizers/section.rb
461
462
  - lib/locomotive/steam/adapters/filesystem/sanitizers/simple.rb
462
463
  - lib/locomotive/steam/adapters/filesystem/sanitizers/site.rb
463
464
  - lib/locomotive/steam/adapters/filesystem/sanitizers/snippet.rb
@@ -466,6 +467,7 @@ files:
466
467
  - lib/locomotive/steam/adapters/filesystem/yaml_loaders/content_entry.rb
467
468
  - lib/locomotive/steam/adapters/filesystem/yaml_loaders/content_type.rb
468
469
  - lib/locomotive/steam/adapters/filesystem/yaml_loaders/page.rb
470
+ - lib/locomotive/steam/adapters/filesystem/yaml_loaders/section.rb
469
471
  - lib/locomotive/steam/adapters/filesystem/yaml_loaders/site.rb
470
472
  - lib/locomotive/steam/adapters/filesystem/yaml_loaders/snippet.rb
471
473
  - lib/locomotive/steam/adapters/filesystem/yaml_loaders/theme_asset.rb
@@ -489,6 +491,7 @@ files:
489
491
  - lib/locomotive/steam/entities/content_type_field.rb
490
492
  - lib/locomotive/steam/entities/editable_element.rb
491
493
  - lib/locomotive/steam/entities/page.rb
494
+ - lib/locomotive/steam/entities/section.rb
492
495
  - lib/locomotive/steam/entities/site.rb
493
496
  - lib/locomotive/steam/entities/snippet.rb
494
497
  - lib/locomotive/steam/entities/theme_asset.rb
@@ -506,6 +509,11 @@ files:
506
509
  - lib/locomotive/steam/liquid/drops/i18n_base.rb
507
510
  - lib/locomotive/steam/liquid/drops/metafields.rb
508
511
  - lib/locomotive/steam/liquid/drops/page.rb
512
+ - lib/locomotive/steam/liquid/drops/params.rb
513
+ - lib/locomotive/steam/liquid/drops/section.rb
514
+ - lib/locomotive/steam/liquid/drops/section_block.rb
515
+ - lib/locomotive/steam/liquid/drops/section_content_proxy.rb
516
+ - lib/locomotive/steam/liquid/drops/section_editor_setting_data.rb
509
517
  - lib/locomotive/steam/liquid/drops/session_proxy.rb
510
518
  - lib/locomotive/steam/liquid/drops/site.rb
511
519
  - lib/locomotive/steam/liquid/drops/uploaded_file.rb
@@ -522,9 +530,11 @@ files:
522
530
  - lib/locomotive/steam/liquid/filters/translate.rb
523
531
  - lib/locomotive/steam/liquid/patches.rb
524
532
  - lib/locomotive/steam/liquid/tags/action.rb
533
+ - lib/locomotive/steam/liquid/tags/alt_page_links.rb
525
534
  - lib/locomotive/steam/liquid/tags/authorize.rb
526
535
  - lib/locomotive/steam/liquid/tags/concerns/i18n_page.rb
527
536
  - lib/locomotive/steam/liquid/tags/concerns/path.rb
537
+ - lib/locomotive/steam/liquid/tags/concerns/section.rb
528
538
  - lib/locomotive/steam/liquid/tags/consume.rb
529
539
  - lib/locomotive/steam/liquid/tags/csrf.rb
530
540
  - lib/locomotive/steam/liquid/tags/editable.rb
@@ -535,6 +545,7 @@ files:
535
545
  - lib/locomotive/steam/liquid/tags/editable/text.rb
536
546
  - lib/locomotive/steam/liquid/tags/extends.rb
537
547
  - lib/locomotive/steam/liquid/tags/fetch_page.rb
548
+ - lib/locomotive/steam/liquid/tags/global_section.rb
538
549
  - lib/locomotive/steam/liquid/tags/google_analytics.rb
539
550
  - lib/locomotive/steam/liquid/tags/hybrid.rb
540
551
  - lib/locomotive/steam/liquid/tags/inherited_block.rb
@@ -545,6 +556,8 @@ files:
545
556
  - lib/locomotive/steam/liquid/tags/nav.rb
546
557
  - lib/locomotive/steam/liquid/tags/paginate.rb
547
558
  - lib/locomotive/steam/liquid/tags/path_to.rb
559
+ - lib/locomotive/steam/liquid/tags/section.rb
560
+ - lib/locomotive/steam/liquid/tags/sections_dropzone.rb
548
561
  - lib/locomotive/steam/liquid/tags/seo.rb
549
562
  - lib/locomotive/steam/liquid/tags/session_assign.rb
550
563
  - lib/locomotive/steam/liquid/tags/snippet.rb
@@ -552,11 +565,13 @@ files:
552
565
  - lib/locomotive/steam/liquid/template.rb
553
566
  - lib/locomotive/steam/middlewares.rb
554
567
  - lib/locomotive/steam/middlewares/auth.rb
568
+ - lib/locomotive/steam/middlewares/concerns/helpers.rb
569
+ - lib/locomotive/steam/middlewares/concerns/liquid_context.rb
555
570
  - lib/locomotive/steam/middlewares/default_env.rb
556
571
  - lib/locomotive/steam/middlewares/dynamic_assets.rb
572
+ - lib/locomotive/steam/middlewares/encoded_link_redirection.rb
557
573
  - lib/locomotive/steam/middlewares/entry_submission.rb
558
574
  - lib/locomotive/steam/middlewares/favicon.rb
559
- - lib/locomotive/steam/middlewares/helpers.rb
560
575
  - lib/locomotive/steam/middlewares/locale.rb
561
576
  - lib/locomotive/steam/middlewares/locale_redirection.rb
562
577
  - lib/locomotive/steam/middlewares/logging.rb
@@ -566,6 +581,7 @@ files:
566
581
  - lib/locomotive/steam/middlewares/redirection.rb
567
582
  - lib/locomotive/steam/middlewares/renderer.rb
568
583
  - lib/locomotive/steam/middlewares/robots.rb
584
+ - lib/locomotive/steam/middlewares/section.rb
569
585
  - lib/locomotive/steam/middlewares/site.rb
570
586
  - lib/locomotive/steam/middlewares/sitemap.rb
571
587
  - lib/locomotive/steam/middlewares/stack_proxy.rb
@@ -594,6 +610,7 @@ files:
594
610
  - lib/locomotive/steam/repositories/content_type_repository.rb
595
611
  - lib/locomotive/steam/repositories/editable_element_repository.rb
596
612
  - lib/locomotive/steam/repositories/page_repository.rb
613
+ - lib/locomotive/steam/repositories/section_repository.rb
597
614
  - lib/locomotive/steam/repositories/site_repository.rb
598
615
  - lib/locomotive/steam/repositories/snippet_repository.rb
599
616
  - lib/locomotive/steam/repositories/theme_asset_repository.rb
@@ -617,12 +634,14 @@ files:
617
634
  - lib/locomotive/steam/services/page_finder_service.rb
618
635
  - lib/locomotive/steam/services/page_redirection_service.rb
619
636
  - lib/locomotive/steam/services/parent_finder_service.rb
637
+ - lib/locomotive/steam/services/section_finder_service.rb
620
638
  - lib/locomotive/steam/services/site_finder_service.rb
621
639
  - lib/locomotive/steam/services/snippet_finder_service.rb
622
640
  - lib/locomotive/steam/services/textile_service.rb
623
641
  - lib/locomotive/steam/services/theme_asset_url_service.rb
624
642
  - lib/locomotive/steam/services/translator_service.rb
625
643
  - lib/locomotive/steam/services/url_builder_service.rb
644
+ - lib/locomotive/steam/services/url_finder_service.rb
626
645
  - lib/locomotive/steam/version.rb
627
646
  - locomotivecms_steam.gemspec
628
647
  - script/ci/before_build.sh
@@ -671,7 +690,11 @@ files:
671
690
  - spec/fixtures/default/app/views/pages/tags.liquid
672
691
  - spec/fixtures/default/app/views/pages/tags/nav.liquid.haml
673
692
  - spec/fixtures/default/app/views/pages/tags/nav_in_deep.liquid.haml
693
+ - spec/fixtures/default/app/views/pages/tags/section.liquid.haml
674
694
  - spec/fixtures/default/app/views/pages/unlisted_pages.liquid.haml
695
+ - spec/fixtures/default/app/views/sections/carousel.liquid
696
+ - spec/fixtures/default/app/views/sections/footer.liquid
697
+ - spec/fixtures/default/app/views/sections/header.liquid
675
698
  - spec/fixtures/default/app/views/snippets/A_Complicated-one.liquid.haml
676
699
  - spec/fixtures/default/app/views/snippets/footer.liquid.haml
677
700
  - spec/fixtures/default/app/views/snippets/header.liquid.haml
@@ -707,6 +730,8 @@ files:
707
730
  - spec/fixtures/default/public/stylesheets/other/extra.css.less
708
731
  - spec/fixtures/default/public/stylesheets/other/style.css.scss
709
732
  - spec/fixtures/default/public/stylesheets/reboot.css
733
+ - spec/fixtures/errors/section_bad_json_content.liquid
734
+ - spec/fixtures/errors/section_bad_json_header.liquid
710
735
  - spec/fixtures/mongodb/locomotive_accounts.bson
711
736
  - spec/fixtures/mongodb/locomotive_accounts.metadata.json
712
737
  - spec/fixtures/mongodb/locomotive_activities.bson
@@ -719,6 +744,8 @@ files:
719
744
  - spec/fixtures/mongodb/locomotive_content_types.metadata.json
720
745
  - spec/fixtures/mongodb/locomotive_pages.bson
721
746
  - spec/fixtures/mongodb/locomotive_pages.metadata.json
747
+ - spec/fixtures/mongodb/locomotive_sections.bson
748
+ - spec/fixtures/mongodb/locomotive_sections.metadata.json
722
749
  - spec/fixtures/mongodb/locomotive_sites.bson
723
750
  - spec/fixtures/mongodb/locomotive_sites.metadata.json
724
751
  - spec/fixtures/mongodb/locomotive_snippets.bson
@@ -727,8 +754,6 @@ files:
727
754
  - spec/fixtures/mongodb/locomotive_theme_assets.metadata.json
728
755
  - spec/fixtures/mongodb/locomotive_translations.bson
729
756
  - spec/fixtures/mongodb/locomotive_translations.metadata.json
730
- - spec/fixtures/mongodb/sessions.bson
731
- - spec/fixtures/mongodb/sessions.metadata.json
732
757
  - spec/integration/adapters/mongodb_spec.rb
733
758
  - spec/integration/integration_helper.rb
734
759
  - spec/integration/liquid/drops/page_spec.rb
@@ -765,11 +790,13 @@ files:
765
790
  - spec/support/mongo.rb
766
791
  - spec/support/pry.rb
767
792
  - spec/support/time.rb
793
+ - spec/unit/adapters/filesystem/sanitizers/section_spec.rb
768
794
  - spec/unit/adapters/filesystem/sanitizers/site_spec.rb
769
795
  - spec/unit/adapters/filesystem/simple_cache_store_spec.rb
770
796
  - spec/unit/adapters/filesystem/yaml_loaders/content_entry_spec.rb
771
797
  - spec/unit/adapters/filesystem/yaml_loaders/content_type_spec.rb
772
798
  - spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
799
+ - spec/unit/adapters/filesystem/yaml_loaders/section_spec.rb
773
800
  - spec/unit/adapters/filesystem/yaml_loaders/site_spec.rb
774
801
  - spec/unit/adapters/filesystem/yaml_loaders/snippet_spec.rb
775
802
  - spec/unit/adapters/filesystem/yaml_loaders/translation_spec.rb
@@ -790,6 +817,7 @@ files:
790
817
  - spec/unit/entities/content_type_spec.rb
791
818
  - spec/unit/entities/editable_element_spec.rb
792
819
  - spec/unit/entities/page_spec.rb
820
+ - spec/unit/entities/section_spec.rb
793
821
  - spec/unit/entities/site_spec.rb
794
822
  - spec/unit/entities/snippet_spec.rb
795
823
  - spec/unit/errors_spec.rb
@@ -800,6 +828,9 @@ files:
800
828
  - spec/unit/liquid/drops/content_types_spec.rb
801
829
  - spec/unit/liquid/drops/metafields_spec.rb
802
830
  - spec/unit/liquid/drops/page_spec.rb
831
+ - spec/unit/liquid/drops/params_spec.rb
832
+ - spec/unit/liquid/drops/section_content_proxy_spec.rb
833
+ - spec/unit/liquid/drops/section_spec.rb
803
834
  - spec/unit/liquid/drops/session_proxy_spec.rb
804
835
  - spec/unit/liquid/drops/site_spec.rb
805
836
  - spec/unit/liquid/filters/base_spec.rb
@@ -814,6 +845,7 @@ files:
814
845
  - spec/unit/liquid/filters/translate_spec.rb
815
846
  - spec/unit/liquid/patches_spec.rb
816
847
  - spec/unit/liquid/tags/action_spec.rb
848
+ - spec/unit/liquid/tags/alt_page_links_spec.rb
817
849
  - spec/unit/liquid/tags/authorize_spec.rb
818
850
  - spec/unit/liquid/tags/consume_spec.rb
819
851
  - spec/unit/liquid/tags/csrf_spec.rb
@@ -823,6 +855,7 @@ files:
823
855
  - spec/unit/liquid/tags/editable/text_spec.rb
824
856
  - spec/unit/liquid/tags/extends_spec.rb
825
857
  - spec/unit/liquid/tags/fetch_page_spec.rb
858
+ - spec/unit/liquid/tags/global_section_spec.rb
826
859
  - spec/unit/liquid/tags/google_analytics_spec.rb
827
860
  - spec/unit/liquid/tags/inherited_block_spec.rb
828
861
  - spec/unit/liquid/tags/link_to_spec.rb
@@ -831,12 +864,15 @@ files:
831
864
  - spec/unit/liquid/tags/nav_spec.rb
832
865
  - spec/unit/liquid/tags/paginate_spec.rb
833
866
  - spec/unit/liquid/tags/path_to_spec.rb
867
+ - spec/unit/liquid/tags/section_spec.rb
868
+ - spec/unit/liquid/tags/sections_dropzone_spec.rb
834
869
  - spec/unit/liquid/tags/seo_spec.rb
835
870
  - spec/unit/liquid/tags/session_assign_spec.rb
836
871
  - spec/unit/liquid/tags/snippet_spec.rb
837
872
  - spec/unit/liquid/tags/with_scope_spec.rb
838
873
  - spec/unit/middlewares/auth_spec.rb
839
874
  - spec/unit/middlewares/dynamic_assets_spec.rb
875
+ - spec/unit/middlewares/encoded_link_redirection_spec.rb
840
876
  - spec/unit/middlewares/entry_submission_spec.rb
841
877
  - spec/unit/middlewares/helpers_spec.rb
842
878
  - spec/unit/middlewares/locale_redirection_spec.rb
@@ -845,6 +881,7 @@ files:
845
881
  - spec/unit/middlewares/private_access_spec.rb
846
882
  - spec/unit/middlewares/redirection_spec.rb
847
883
  - spec/unit/middlewares/renderer_spec.rb
884
+ - spec/unit/middlewares/section_spec.rb
848
885
  - spec/unit/middlewares/site_spec.rb
849
886
  - spec/unit/middlewares/sitemap_spec.rb
850
887
  - spec/unit/middlewares/stack_proxy_spec.rb
@@ -859,6 +896,7 @@ files:
859
896
  - spec/unit/repositories/content_type_field_repository_spec.rb
860
897
  - spec/unit/repositories/content_type_repository_spec.rb
861
898
  - spec/unit/repositories/page_repository_spec.rb
899
+ - spec/unit/repositories/section_repository_spec.rb
862
900
  - spec/unit/repositories/site_repository_spec.rb
863
901
  - spec/unit/repositories/snippet_repository_spec.rb
864
902
  - spec/unit/repositories/theme_asset_repository_spec.rb
@@ -874,9 +912,11 @@ files:
874
912
  - spec/unit/services/markdown_service_spec.rb
875
913
  - spec/unit/services/page_redirection_service_spec.rb
876
914
  - spec/unit/services/parent_finder_service_spec.rb
915
+ - spec/unit/services/section_finder_service_spec.rb
877
916
  - spec/unit/services/textile_service_spec.rb
878
917
  - spec/unit/services/translator_service_spec.rb
879
918
  - spec/unit/services/url_builder_service_spec.rb
919
+ - spec/unit/services/url_finder_service_spec.rb
880
920
  - spec/unit/services_spec.rb
881
921
  homepage: https://github.com/locomotivecms/steam
882
922
  licenses:
@@ -893,9 +933,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
893
933
  version: '2.0'
894
934
  required_rubygems_version: !ruby/object:Gem::Requirement
895
935
  requirements:
896
- - - ">="
936
+ - - ">"
897
937
  - !ruby/object:Gem::Version
898
- version: '0'
938
+ version: 1.3.1
899
939
  requirements: []
900
940
  rubyforge_project:
901
941
  rubygems_version: 2.7.3
@@ -948,7 +988,11 @@ test_files:
948
988
  - spec/fixtures/default/app/views/pages/tags.liquid
949
989
  - spec/fixtures/default/app/views/pages/tags/nav.liquid.haml
950
990
  - spec/fixtures/default/app/views/pages/tags/nav_in_deep.liquid.haml
991
+ - spec/fixtures/default/app/views/pages/tags/section.liquid.haml
951
992
  - spec/fixtures/default/app/views/pages/unlisted_pages.liquid.haml
993
+ - spec/fixtures/default/app/views/sections/carousel.liquid
994
+ - spec/fixtures/default/app/views/sections/footer.liquid
995
+ - spec/fixtures/default/app/views/sections/header.liquid
952
996
  - spec/fixtures/default/app/views/snippets/A_Complicated-one.liquid.haml
953
997
  - spec/fixtures/default/app/views/snippets/footer.liquid.haml
954
998
  - spec/fixtures/default/app/views/snippets/header.liquid.haml
@@ -984,6 +1028,8 @@ test_files:
984
1028
  - spec/fixtures/default/public/stylesheets/other/extra.css.less
985
1029
  - spec/fixtures/default/public/stylesheets/other/style.css.scss
986
1030
  - spec/fixtures/default/public/stylesheets/reboot.css
1031
+ - spec/fixtures/errors/section_bad_json_content.liquid
1032
+ - spec/fixtures/errors/section_bad_json_header.liquid
987
1033
  - spec/fixtures/mongodb/locomotive_accounts.bson
988
1034
  - spec/fixtures/mongodb/locomotive_accounts.metadata.json
989
1035
  - spec/fixtures/mongodb/locomotive_activities.bson
@@ -996,6 +1042,8 @@ test_files:
996
1042
  - spec/fixtures/mongodb/locomotive_content_types.metadata.json
997
1043
  - spec/fixtures/mongodb/locomotive_pages.bson
998
1044
  - spec/fixtures/mongodb/locomotive_pages.metadata.json
1045
+ - spec/fixtures/mongodb/locomotive_sections.bson
1046
+ - spec/fixtures/mongodb/locomotive_sections.metadata.json
999
1047
  - spec/fixtures/mongodb/locomotive_sites.bson
1000
1048
  - spec/fixtures/mongodb/locomotive_sites.metadata.json
1001
1049
  - spec/fixtures/mongodb/locomotive_snippets.bson
@@ -1004,8 +1052,6 @@ test_files:
1004
1052
  - spec/fixtures/mongodb/locomotive_theme_assets.metadata.json
1005
1053
  - spec/fixtures/mongodb/locomotive_translations.bson
1006
1054
  - spec/fixtures/mongodb/locomotive_translations.metadata.json
1007
- - spec/fixtures/mongodb/sessions.bson
1008
- - spec/fixtures/mongodb/sessions.metadata.json
1009
1055
  - spec/integration/adapters/mongodb_spec.rb
1010
1056
  - spec/integration/integration_helper.rb
1011
1057
  - spec/integration/liquid/drops/page_spec.rb
@@ -1042,11 +1088,13 @@ test_files:
1042
1088
  - spec/support/mongo.rb
1043
1089
  - spec/support/pry.rb
1044
1090
  - spec/support/time.rb
1091
+ - spec/unit/adapters/filesystem/sanitizers/section_spec.rb
1045
1092
  - spec/unit/adapters/filesystem/sanitizers/site_spec.rb
1046
1093
  - spec/unit/adapters/filesystem/simple_cache_store_spec.rb
1047
1094
  - spec/unit/adapters/filesystem/yaml_loaders/content_entry_spec.rb
1048
1095
  - spec/unit/adapters/filesystem/yaml_loaders/content_type_spec.rb
1049
1096
  - spec/unit/adapters/filesystem/yaml_loaders/page_spec.rb
1097
+ - spec/unit/adapters/filesystem/yaml_loaders/section_spec.rb
1050
1098
  - spec/unit/adapters/filesystem/yaml_loaders/site_spec.rb
1051
1099
  - spec/unit/adapters/filesystem/yaml_loaders/snippet_spec.rb
1052
1100
  - spec/unit/adapters/filesystem/yaml_loaders/translation_spec.rb
@@ -1067,6 +1115,7 @@ test_files:
1067
1115
  - spec/unit/entities/content_type_spec.rb
1068
1116
  - spec/unit/entities/editable_element_spec.rb
1069
1117
  - spec/unit/entities/page_spec.rb
1118
+ - spec/unit/entities/section_spec.rb
1070
1119
  - spec/unit/entities/site_spec.rb
1071
1120
  - spec/unit/entities/snippet_spec.rb
1072
1121
  - spec/unit/errors_spec.rb
@@ -1077,6 +1126,9 @@ test_files:
1077
1126
  - spec/unit/liquid/drops/content_types_spec.rb
1078
1127
  - spec/unit/liquid/drops/metafields_spec.rb
1079
1128
  - spec/unit/liquid/drops/page_spec.rb
1129
+ - spec/unit/liquid/drops/params_spec.rb
1130
+ - spec/unit/liquid/drops/section_content_proxy_spec.rb
1131
+ - spec/unit/liquid/drops/section_spec.rb
1080
1132
  - spec/unit/liquid/drops/session_proxy_spec.rb
1081
1133
  - spec/unit/liquid/drops/site_spec.rb
1082
1134
  - spec/unit/liquid/filters/base_spec.rb
@@ -1091,6 +1143,7 @@ test_files:
1091
1143
  - spec/unit/liquid/filters/translate_spec.rb
1092
1144
  - spec/unit/liquid/patches_spec.rb
1093
1145
  - spec/unit/liquid/tags/action_spec.rb
1146
+ - spec/unit/liquid/tags/alt_page_links_spec.rb
1094
1147
  - spec/unit/liquid/tags/authorize_spec.rb
1095
1148
  - spec/unit/liquid/tags/consume_spec.rb
1096
1149
  - spec/unit/liquid/tags/csrf_spec.rb
@@ -1100,6 +1153,7 @@ test_files:
1100
1153
  - spec/unit/liquid/tags/editable/text_spec.rb
1101
1154
  - spec/unit/liquid/tags/extends_spec.rb
1102
1155
  - spec/unit/liquid/tags/fetch_page_spec.rb
1156
+ - spec/unit/liquid/tags/global_section_spec.rb
1103
1157
  - spec/unit/liquid/tags/google_analytics_spec.rb
1104
1158
  - spec/unit/liquid/tags/inherited_block_spec.rb
1105
1159
  - spec/unit/liquid/tags/link_to_spec.rb
@@ -1108,12 +1162,15 @@ test_files:
1108
1162
  - spec/unit/liquid/tags/nav_spec.rb
1109
1163
  - spec/unit/liquid/tags/paginate_spec.rb
1110
1164
  - spec/unit/liquid/tags/path_to_spec.rb
1165
+ - spec/unit/liquid/tags/section_spec.rb
1166
+ - spec/unit/liquid/tags/sections_dropzone_spec.rb
1111
1167
  - spec/unit/liquid/tags/seo_spec.rb
1112
1168
  - spec/unit/liquid/tags/session_assign_spec.rb
1113
1169
  - spec/unit/liquid/tags/snippet_spec.rb
1114
1170
  - spec/unit/liquid/tags/with_scope_spec.rb
1115
1171
  - spec/unit/middlewares/auth_spec.rb
1116
1172
  - spec/unit/middlewares/dynamic_assets_spec.rb
1173
+ - spec/unit/middlewares/encoded_link_redirection_spec.rb
1117
1174
  - spec/unit/middlewares/entry_submission_spec.rb
1118
1175
  - spec/unit/middlewares/helpers_spec.rb
1119
1176
  - spec/unit/middlewares/locale_redirection_spec.rb
@@ -1122,6 +1179,7 @@ test_files:
1122
1179
  - spec/unit/middlewares/private_access_spec.rb
1123
1180
  - spec/unit/middlewares/redirection_spec.rb
1124
1181
  - spec/unit/middlewares/renderer_spec.rb
1182
+ - spec/unit/middlewares/section_spec.rb
1125
1183
  - spec/unit/middlewares/site_spec.rb
1126
1184
  - spec/unit/middlewares/sitemap_spec.rb
1127
1185
  - spec/unit/middlewares/stack_proxy_spec.rb
@@ -1136,6 +1194,7 @@ test_files:
1136
1194
  - spec/unit/repositories/content_type_field_repository_spec.rb
1137
1195
  - spec/unit/repositories/content_type_repository_spec.rb
1138
1196
  - spec/unit/repositories/page_repository_spec.rb
1197
+ - spec/unit/repositories/section_repository_spec.rb
1139
1198
  - spec/unit/repositories/site_repository_spec.rb
1140
1199
  - spec/unit/repositories/snippet_repository_spec.rb
1141
1200
  - spec/unit/repositories/theme_asset_repository_spec.rb
@@ -1151,7 +1210,9 @@ test_files:
1151
1210
  - spec/unit/services/markdown_service_spec.rb
1152
1211
  - spec/unit/services/page_redirection_service_spec.rb
1153
1212
  - spec/unit/services/parent_finder_service_spec.rb
1213
+ - spec/unit/services/section_finder_service_spec.rb
1154
1214
  - spec/unit/services/textile_service_spec.rb
1155
1215
  - spec/unit/services/translator_service_spec.rb
1156
1216
  - spec/unit/services/url_builder_service_spec.rb
1217
+ - spec/unit/services/url_finder_service_spec.rb
1157
1218
  - spec/unit/services_spec.rb