refinerycms-pages 4.0.1 → 4.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/app/controllers/refinery/admin/page_parts_controller.rb +5 -1
  5. data/app/controllers/refinery/admin/pages_controller.rb +10 -2
  6. data/app/models/refinery/page.rb +9 -2
  7. data/app/views/refinery/admin/pages/_form.html.erb +27 -17
  8. data/app/views/refinery/admin/pages/_page.html.erb +4 -3
  9. data/app/views/refinery/admin/pages/_sortable_list.html.erb +5 -4
  10. data/app/views/refinery/admin/pages/children.html.erb +1 -1
  11. data/db/migrate/20140105190324_add_custom_slug_to_refinery_pages.rb +4 -9
  12. data/db/migrate/20180316032602_add_children_count_to_refinery_pages.rb +5 -0
  13. data/lib/generators/refinery/pages/templates/config/initializers/refinery/pages.rb.erb +1 -1
  14. data/lib/refinery/pages.rb +1 -1
  15. data/lib/refinery/pages/type.rb +15 -0
  16. data/refinerycms-pages.gemspec +1 -1
  17. data/spec/controllers/refinery/admin/pages_controller_spec.rb +6 -0
  18. data/spec/controllers/refinery/pages_controller_spec.rb +2 -2
  19. data/spec/factories/page_parts.rb +1 -1
  20. data/spec/factories/pages.rb +2 -2
  21. data/spec/features/refinery/admin/pages_spec.rb +24 -0
  22. data/spec/features/refinery/pages_spec.rb +26 -7
  23. data/spec/helpers/refinery/pages/admin/pages_helper_spec.rb +6 -6
  24. data/spec/lib/pages_spec.rb +20 -0
  25. data/spec/lib/refinery/pages/type_spec.rb +30 -0
  26. data/spec/models/refinery/page_finder_spec.rb +1 -1
  27. data/spec/models/refinery/page_url_spec.rb +1 -1
  28. data/spec/presenters/refinery/pages/menu_presenter_spec.rb +4 -4
  29. metadata +8 -5
  30. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2c60d930d05c39f67793d8f6596326fa32bb81d5
4
- data.tar.gz: 990e1cd7c20a417ffd11ccffd7228930121bfecc
3
+ metadata.gz: '09bcb164f233eb9e0139cec096762c44bdb0633a'
4
+ data.tar.gz: 663a3ed2390bf1f68b828000655a780c70755cfe
5
5
  SHA512:
6
- metadata.gz: c5e1898ab6fa370a69cbf149f4b9c7fc124501dbfe8dc5804378f06c9cd9bf6fbed8b094d61c81988fad60a958df9b320c51701cbabb1bccc037a8c7da67029b
7
- data.tar.gz: 693726ed908f4126bb07ee9ef0e01851f2a020fb3348782d594c3841ee90af1887c3329b17c4c85b6a4f4e036ec08520bbdec32abca412438c9745d6b2a08c2d
6
+ metadata.gz: 99fb3481b27dce69ceec963ac413f1c9ee15216a6d6a4de818597d94c43d5b3b84df0ac1f40d254c79a22830093c5927c94f1a55679be77cf1f4618e9684c8cb
7
+ data.tar.gz: aeb2b2af427ea62b1dece0f277c97bda0c50cc68bd4781a1a2221baba45faa7d5695e72483552ce13a7ac8bf09e21a6b69c1b95465432c56012d84f27fff37c3
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -23,9 +23,13 @@ module Refinery
23
23
 
24
24
  protected
25
25
  def new_page_part_params
26
- params.except(:part_index).permit(:title, :slug, :body, :locale)
26
+ params.except(:part_index).permit(permitted_new_page_part_params)
27
27
  end
28
28
 
29
+ private
30
+ def permitted_new_page_part_params
31
+ [:title, :slug, :body, :locale]
32
+ end
29
33
  end
30
34
  end
31
35
  end
@@ -91,7 +91,7 @@ module Refinery
91
91
  end
92
92
 
93
93
  def new_page_params
94
- params.permit(:parent_id, :view_template, :layout_template)
94
+ params.permit(permitted_new_page_params)
95
95
  end
96
96
 
97
97
  private
@@ -100,10 +100,18 @@ module Refinery
100
100
  [
101
101
  :browser_title, :draft, :link_url, :menu_title, :meta_description,
102
102
  :parent_id, :skip_to_first_child, :show_in_menu, :title, :view_template,
103
- :layout_template, :custom_slug, parts_attributes: [:id, :title, :slug, :body, :position]
103
+ :layout_template, :custom_slug, parts_attributes: permitted_parts_attributes_params
104
104
  ]
105
105
  end
106
106
 
107
+ def permitted_parts_attributes_params
108
+ [:id, :title, :slug, :body, :position]
109
+ end
110
+
111
+ def permitted_new_page_params
112
+ [:parent_id, :view_template, :layout_template]
113
+ end
114
+
107
115
  def save_and_continue_locals(page)
108
116
  nested_url = page.nested_url
109
117
  {
@@ -55,7 +55,7 @@ module Refinery
55
55
 
56
56
  # Docs for acts_as_nested_set https://github.com/collectiveidea/awesome_nested_set
57
57
  # rather than :delete_all we want :destroy
58
- acts_as_nested_set :dependent => :destroy
58
+ acts_as_nested_set counter_cache: :children_count, dependent: :destroy, touch: true
59
59
 
60
60
  friendly_id :custom_slug_or_title, FriendlyIdOptions.options
61
61
 
@@ -73,6 +73,9 @@ module Refinery
73
73
  before_destroy :deletable?
74
74
  after_save :reposition_parts!
75
75
 
76
+ after_save :update_all_descendants
77
+ after_move :update_all_descendants
78
+
76
79
  class << self
77
80
  # Live pages are 'allowed' to be shown in the frontend of your website.
78
81
  # By default, this is all pages that are not set as 'draft'.
@@ -378,11 +381,15 @@ module Refinery
378
381
  def slug_locale
379
382
  return Globalize.locale if translation_for(Globalize.locale, false).try(:slug).present?
380
383
 
381
- if translations.empty? || translation_for(Refinery::I18n.default_frontend_locale, false).present?
384
+ if translations.empty? || translation_for(Refinery::I18n.default_frontend_locale, false).try(:slug).present?
382
385
  Refinery::I18n.default_frontend_locale
383
386
  else
384
387
  translations.first.locale
385
388
  end
386
389
  end
390
+
391
+ def update_all_descendants
392
+ self.descendants.map(&:touch)
393
+ end
387
394
  end
388
395
  end
@@ -18,19 +18,20 @@
18
18
 
19
19
  <%= render 'form_advanced_options', :f => f %>
20
20
 
21
- <%= render '/refinery/admin/form_actions', :f => f,
22
- :continue_editing => true,
23
- :delete_title => t('delete', :scope => 'refinery.admin.pages'),
24
- :delete_confirmation => t('message', :scope => 'refinery.admin.delete', :title => @page.title),
25
- :before_cancel_button => submit_tag(
21
+ <%= render '/refinery/admin/form_actions', f: f,
22
+ continue_editing: true,
23
+ delete_title: t('delete', scope: 'refinery.admin.pages'),
24
+ delete_confirmation: t('message', scope: 'refinery.admin.delete', title: @page.title),
25
+ before_cancel_button: submit_tag(
26
26
  t('.preview'),
27
- :id => 'preview-button',
28
- :title => 'Preview page',
29
- :name => nil,
30
- :class => "wymupdate button",
31
- :tooltip => t('.preview_changes')
27
+ id: 'preview-button',
28
+ title: 'Preview page',
29
+ name: nil,
30
+ class: 'wymupdate button',
31
+ tooltip: t('.preview_changes'),
32
+ data: { disable_with: false }
32
33
  ),
33
- :cancel_url => refinery.admin_pages_path %>
34
+ cancel_url: refinery.admin_pages_path %>
34
35
 
35
36
  <%= render 'form_new_page_parts', :f => f if Refinery::Pages.new_page_parts %>
36
37
  <% end %>
@@ -44,17 +45,26 @@
44
45
  , "<%= refinery.admin_page_parts_path %>"
45
46
  );
46
47
 
47
- $(document).on('click', '#preview-button', function(e) {
48
+ $( '#preview-button' ).on( 'click', function(e) {
49
+ e.preventDefault();
50
+
48
51
  var $form = $(this).parents('form');
49
52
  var prev_url = $form.attr('action');
50
53
  var prev_target = $form.attr('target') || '';
54
+
51
55
  $form.attr({
52
- 'action': '<%= @page.persisted? ? refinery.pages_admin_preview_page_path(@page.nested_url) : refinery.pages_admin_preview_pages_path %>'
53
- , 'target': '_blank'
54
- });
56
+ action: '<%= @page.persisted? ? refinery.pages_admin_preview_page_path(@page.nested_url) : refinery.pages_admin_preview_pages_path %>',
57
+ target: '_blank'
58
+ })
59
+
55
60
  $form.submit();
56
- $form.attr({'action': prev_url, 'target': prev_target});
57
- e.preventDefault();
61
+
62
+ setTimeout(function(){
63
+ $form.attr({
64
+ action: prev_url,
65
+ target: prev_target
66
+ });
67
+ }, 100);
58
68
  });
59
69
  });
60
70
  </script>
@@ -46,7 +46,8 @@
46
46
  <%= action_icon(:delete, delete_url, t('delete', scope: 'refinery.admin.pages' ), delete_options ) if page.deletable? %>
47
47
  </span>
48
48
  </div>
49
- <ul class='nested' data-ajax-content="<%= refinery.admin_children_pages_path(page.nested_url) %>">
50
- <%= render(partial: 'page', collection: page.children) if Refinery::Pages.auto_expand_admin_tree %>
51
- </ul>
49
+
50
+ <%= content_tag :ul, class: 'nested', data: { 'ajax-content': refinery.admin_children_pages_path(page.nested_url) } do %>
51
+ <%= render(partial: 'page', collection: page.children, cached: true) if Refinery::Pages.auto_expand_admin_tree %>
52
+ <% end %>
52
53
  </li>
@@ -1,4 +1,5 @@
1
- <ul id='sortable_list'>
2
- <%= render :partial => 'page', :collection => @pages.roots %>
3
- </ul>
4
- <%= render '/refinery/admin/sortable_list', :continue_reordering => !!local_assigns[:continue_reordering] %>
1
+ <%= content_tag :ul, id: 'sortable_list' do %>
2
+ <%= render partial: 'page', collection: @pages.roots, cached: true %>
3
+ <% end %>
4
+
5
+ <%= render '/refinery/admin/sortable_list', continue_reordering: !!local_assigns[:continue_reordering] %>
@@ -1 +1 @@
1
- <%= render :partial => 'page', :collection => @page.children %>
1
+ <%= render partial: 'page', collection: @page.children, cached: true %>
@@ -1,20 +1,15 @@
1
1
  class AddCustomSlugToRefineryPages < ActiveRecord::Migration[4.2]
2
2
  def up
3
- if page_column_names.exclude?('custom_slug')
4
- add_column :refinery_pages, :custom_slug, :string
5
- end
3
+ add_column :refinery_pages, :custom_slug, :string unless custom_slug_exists?
6
4
  end
7
5
 
8
6
  def down
9
- if page_column_names.include?('custom_slug')
10
- remove_column :refinery_pages, :custom_slug
11
- end
7
+ remove_column :refinery_pages, :custom_slug if custom_slug_exists?
12
8
  end
13
9
 
14
10
  private
15
- def page_column_names
16
- return [] unless defined?(::Refinery::Page)
17
11
 
18
- Refinery::Page.column_names.map(&:to_s)
12
+ def custom_slug_exists?
13
+ column_exists?(:refinery_pages, :custom_slug)
19
14
  end
20
15
  end
@@ -0,0 +1,5 @@
1
+ class AddChildrenCountToRefineryPages < ActiveRecord::Migration[5.1]
2
+ def change
3
+ add_column :refinery_pages, :children_count, :integer, null: false, default: 0
4
+ end
5
+ end
@@ -2,7 +2,7 @@
2
2
  Refinery::Pages.configure do |config|
3
3
  # Configure specific page templates
4
4
  # config.types.register :home do |home|
5
- # home.parts = %w[intro body]
5
+ # home.parts = [{slug: "intro", title: "Intro"}, {slug: "body", title: "Body}]
6
6
  # end
7
7
 
8
8
  # Configure global page default parts
@@ -35,7 +35,7 @@ module Refinery
35
35
  def default_parts_for(page)
36
36
  return default_parts unless page.view_template.present?
37
37
 
38
- types.find_by_name(page.view_template).parts.map(&:titleize)
38
+ types.find_by_name(page.view_template).parts
39
39
  end
40
40
  end
41
41
 
@@ -4,6 +4,21 @@ module Refinery
4
4
 
5
5
  attr_accessor :name, :parts, :template
6
6
 
7
+ def parts=(new_parts)
8
+ @parts = if new_parts.all? { |v| v.is_a?(String) }
9
+ new_syntax = new_parts.map do |part|
10
+ { title: part, slug: part.downcase.gsub(" ", "_") }
11
+ end
12
+ Refinery.deprecate(
13
+ "Change specific page template page parts from #{new_parts} to #{new_syntax}",
14
+ when: "4.1.0"
15
+ )
16
+ new_syntax
17
+ else
18
+ new_parts
19
+ end
20
+ end
21
+
7
22
  def parts
8
23
  @parts ||= []
9
24
  end
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.summary = %q{Pages extension for Refinery CMS}
11
11
  s.description = %q{The default content extension of Refinery CMS. This extension handles the administration and display of user-editable pages.}
12
12
  s.email = %q{refinerycms@p.arndt.io}
13
- s.homepage = %q{http://refinerycms.com}
13
+ s.homepage = %q{https://www.refinerycms.com}
14
14
  s.rubyforge_project = %q{refinerycms}
15
15
  s.authors = ['Philip Arndt', 'Uģis Ozols', 'Rob Yurkowski']
16
16
  s.license = %q{MIT}
@@ -4,6 +4,12 @@ module Refinery
4
4
  module Admin
5
5
  describe PagesController, type: :controller do
6
6
 
7
+ describe "with view template" do
8
+ before { Refinery::Pages::Types.register("show") { |type| type.parts = Refinery::Pages.default_parts } }
9
+ after { Refinery::Pages::Types.registered.delete(Refinery::Pages::Types.registered.find_by_name("show")) }
10
+ it { expect(get(:new, params: { view_template: "show" })).to be_ok }
11
+ end
12
+
7
13
  describe "valid templates" do
8
14
  before do
9
15
  File.write(Rails.root.join('tmp', 'abc.html.erb'), '')
@@ -3,8 +3,8 @@ require "spec_helper"
3
3
  module Refinery
4
4
  describe PagesController, :type => :controller do
5
5
  before do
6
- FactoryGirl.create(:page, :link_url => "/")
7
- FactoryGirl.create(:page, :title => "test")
6
+ FactoryBot.create(:page, :link_url => "/")
7
+ FactoryBot.create(:page, :title => "test")
8
8
  end
9
9
 
10
10
  describe "#home" do
@@ -1,4 +1,4 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
  factory :page_part, class: Refinery::PagePart do
3
3
  title 'Body'
4
4
  slug 'side_body'
@@ -1,10 +1,10 @@
1
- FactoryGirl.define do
1
+ FactoryBot.define do
2
2
  factory :page, class: Refinery::Page do
3
3
  sequence(:title, "a") { |n| "Test title #{n}" }
4
4
 
5
5
  factory :page_with_page_part do
6
6
  after(:create) do |page|
7
- page.parts << FactoryGirl.create(:page_part)
7
+ page.parts << FactoryBot.build(:page_part)
8
8
  end
9
9
  end
10
10
  end
@@ -327,6 +327,30 @@ module Refinery
327
327
  window.close
328
328
  end
329
329
 
330
+ # Regression test for save-and_continue after previewing
331
+ # https://github.com/refinery/refinerycms/issues/3328
332
+ it 'will save-and-continue after show the preview in a new window' do
333
+ visit refinery.admin_pages_path
334
+
335
+ find('a[tooltip^=Edit]').click
336
+ fill_in "Title", :with => "Save this"
337
+
338
+ window = window_opened_by do
339
+ click_button "Preview"
340
+ end
341
+
342
+ expect_window_with_content("Save this", window: window)
343
+ expect_window_without_content(
344
+ ::I18n.t('switch_to_website', :scope => 'refinery.site_bar'),
345
+ window: window
346
+ )
347
+
348
+ window.close
349
+
350
+ click_button "Save & continue editing"
351
+ expect(page).to have_content("'Save this' was successfully updated")
352
+ end
353
+
330
354
  it 'will show pages with inherited templates', js:true do
331
355
  visit refinery.admin_pages_path
332
356
 
@@ -365,28 +365,39 @@ module Refinery
365
365
  context "with multiple locales" do
366
366
 
367
367
  describe "redirects" do
368
- before { allow(Refinery::I18n).to receive(:frontend_locales).and_return([:en, :ru]) }
369
- after { allow(Refinery::I18n).to receive(:frontend_locales).and_call_original }
370
368
  let(:en_page_title) { 'News' }
371
369
  let(:en_page_slug) { 'news' }
372
370
  let(:ru_page_title) { 'Новости' }
373
371
  let(:ru_page_slug_encoded) { '%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8' }
374
372
  let!(:news_page) do
375
- _page = Globalize.with_locale(:en) { Page.create title: en_page_title }
373
+ @page = Globalize.with_locale(:en) { Page.create title: en_page_title }
376
374
  Globalize.with_locale(:ru) do
377
- _page.title = ru_page_title
378
- _page.save
375
+ @page.title = ru_page_title
376
+ @page.save
379
377
  end
380
378
 
381
- _page
379
+ @page
382
380
  end
383
381
 
382
+ before {
383
+ allow(Refinery::I18n).to receive(:frontend_locales).and_return([:en, :ru])
384
+ allow(Page).to receive(:fast_menu).and_return([@page])
385
+ }
386
+
387
+ after { allow(Refinery::I18n).to receive(:frontend_locales).and_call_original }
388
+
384
389
  it "should recognise when default locale is in the path" do
385
390
  visit "/en/#{en_page_slug}"
386
391
 
387
392
  expect(current_path).to eq("/en/#{en_page_slug}")
388
393
  end
389
394
 
395
+ it "should display the default locale when locale is not in the path" do
396
+ visit "/#{en_page_slug}"
397
+
398
+ expect(current_path).to eq("/#{en_page_slug}")
399
+ end
400
+
390
401
  it "should redirect to default locale slug" do
391
402
  visit "/#{ru_page_slug_encoded}"
392
403
 
@@ -401,6 +412,14 @@ module Refinery
401
412
  visit "/en/#{en_page_slug}"
402
413
  end
403
414
 
415
+ it "should not have the locale in the menu href link" do
416
+ visit "/en/#{en_page_slug}"
417
+
418
+ within('.menu') do
419
+ expect(page).to have_selector(:css, "a[href='/#{en_page_slug}']")
420
+ end
421
+ end
422
+
404
423
  describe "nested page" do
405
424
  let(:nested_page_title) { 'nested_page' }
406
425
  let(:nested_page_slug) { 'nested_page' }
@@ -428,4 +447,4 @@ module Refinery
428
447
  end
429
448
  end
430
449
  end
431
- end
450
+ end
@@ -6,7 +6,7 @@ module Refinery
6
6
  describe "#template_options" do
7
7
  context "when page layout/view template is set" do
8
8
  it "returns those templates as selected" do
9
- page = FactoryGirl.create(:page)
9
+ page = FactoryBot.create(:page)
10
10
 
11
11
  page.view_template = "rspec_template"
12
12
  expect(helper.template_options(:view_template, page)).to eq(:selected => "rspec_template")
@@ -22,7 +22,7 @@ module Refinery
22
22
  end
23
23
 
24
24
  it "works as expected" do
25
- page = FactoryGirl.create(:page, :layout_template => "three")
25
+ page = FactoryBot.create(:page, :layout_template => "three")
26
26
 
27
27
  expect(helper.template_options(:layout_template, page)).to eq(:selected => 'three')
28
28
  end
@@ -31,8 +31,8 @@ module Refinery
31
31
  context "when page layout template isn't set" do
32
32
  context "when page has parent and parent has layout_template set" do
33
33
  it "returns parent layout_template as selected" do
34
- parent = FactoryGirl.create(:page, :layout_template => "rspec_layout")
35
- page = FactoryGirl.create(:page, :parent_id => parent.id)
34
+ parent = FactoryBot.create(:page, :layout_template => "rspec_layout")
35
+ page = FactoryBot.create(:page, :parent_id => parent.id)
36
36
 
37
37
  expected_layout = { :selected => parent.layout_template }
38
38
  expect(helper.template_options(:layout_template, page)).to eq(expected_layout)
@@ -41,7 +41,7 @@ module Refinery
41
41
 
42
42
  context "when page doesn't have parent page" do
43
43
  it "returns default application template" do
44
- page = FactoryGirl.create(:page)
44
+ page = FactoryBot.create(:page)
45
45
 
46
46
  expected_layout = { :selected => "application" }
47
47
  expect(helper.template_options(:layout_template, page)).to eq(expected_layout)
@@ -51,7 +51,7 @@ module Refinery
51
51
  end
52
52
 
53
53
  describe "#page_meta_information" do
54
- let(:page) { FactoryGirl.build(:page) }
54
+ let(:page) { FactoryBot.build(:page) }
55
55
 
56
56
  context "when show_in_menu is false" do
57
57
  it "adds 'hidden' label" do
@@ -22,5 +22,25 @@ module Refinery
22
22
  end
23
23
  end
24
24
  end
25
+
26
+ describe ".default_parts_for" do
27
+ context "with no view template" do
28
+ it "returns the default page parts" do
29
+ expect(subject.default_parts_for(Page.new)).to eq subject.default_parts
30
+ end
31
+ end
32
+
33
+ context "with registered type" do
34
+ let(:type_name) { "custom_type" }
35
+ before { Pages::Types.registered.register(type_name) }
36
+ after { Pages::Types.registered.delete(Pages::Types.registered.find_by_name(type_name)) }
37
+
38
+ it "delegates to the type's parts" do
39
+ part = Pages::Types.registered.find_by_name(type_name)
40
+ expect(part).to receive(:parts).and_return []
41
+ subject.default_parts_for(Page.new(view_template: type_name))
42
+ end
43
+ end
44
+ end
25
45
  end
26
46
  end
@@ -0,0 +1,30 @@
1
+ require "spec_helper"
2
+
3
+ module Refinery
4
+ module Pages
5
+ describe Type do
6
+ subject { Type.new }
7
+
8
+ describe ".parts=" do
9
+ it "returns an array of hashes unaltered" do
10
+ parts = [{title: "Body", slug: "body"}]
11
+ subject.parts = parts
12
+ expect(subject.parts).to eq parts
13
+ end
14
+
15
+ it "rewrites an array of strings and warns about this deprecated format" do
16
+ parts = ["Side Bar"]
17
+ rewritten_parts = [{title: "Side Bar", slug: "side_bar"}]
18
+ expect(Refinery).to receive(:deprecate).with(
19
+ "Change specific page template page parts from #{parts} to #{rewritten_parts}",
20
+ when: "4.1.0"
21
+ )
22
+
23
+ subject.parts = parts
24
+ expect(subject.parts).to eq rewritten_parts
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+
@@ -30,7 +30,7 @@ module Refinery
30
30
  end
31
31
 
32
32
  describe ".find_by_path_or_id" do
33
- let!(:market) { FactoryGirl.create(:page, :title => "market") }
33
+ let!(:market) { FactoryBot.create(:page, :title => "market") }
34
34
  let(:path) { "market" }
35
35
  let(:id) { market.id }
36
36
 
@@ -270,7 +270,7 @@ module Refinery
270
270
 
271
271
  context "given a page with a custom_slug exists" do
272
272
  before do
273
- FactoryGirl.create(:page, :custom_slug => custom_page_slug)
273
+ FactoryBot.create(:page, :custom_slug => custom_page_slug)
274
274
  end
275
275
 
276
276
  it "fails validation when a new record uses that custom_slug" do
@@ -60,10 +60,10 @@ module Refinery
60
60
 
61
61
  describe "#to_html" do
62
62
  let(:menu_items) {
63
- Refinery::Menu.new(FactoryGirl.create(:page, :title => "Refinery CMS"))
63
+ Refinery::Menu.new(FactoryBot.create(:page, :title => "Refinery CMS"))
64
64
  }
65
65
  let(:menu_presenter) { MenuPresenter.new(menu_items, view) }
66
-
66
+
67
67
  context "wrapped in html" do
68
68
  it "returns menu items" do
69
69
  expect(menu_presenter.to_html).to xml_eq(
@@ -72,7 +72,7 @@ module Refinery
72
72
  end
73
73
 
74
74
  context "with role set to navigation" do
75
- let(:menu_presenter_with_role) {
75
+ let(:menu_presenter_with_role) {
76
76
  menu_presenter.menu_role = 'navigation'
77
77
  menu_presenter
78
78
  }
@@ -96,7 +96,7 @@ module Refinery
96
96
 
97
97
  context "when page has a link_url" do
98
98
  let(:menu_items) {
99
- Menu.new(FactoryGirl.create(:page, title: "Home", link_url: "/"))
99
+ Menu.new(FactoryBot.create(:page, title: "Home", link_url: "/"))
100
100
  }
101
101
  it "the menu item URL includes the mounted path" do
102
102
  expect(menu_presenter.to_html).to xml_eq(
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinerycms-pages
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Philip Arndt
@@ -32,7 +32,7 @@ cert_chain:
32
32
  jOQmH9VbgbfUrXYM1YOKdlwW5sPR1f4PKLDlvEE+bppIUgKOgLOIv3i7KwrGvFOq
33
33
  5r7Wz/HY31SM47mkK21saPJG4NvUFEycf0wlpzP657Pl9aVo47aKKbxX
34
34
  -----END CERTIFICATE-----
35
- date: 2017-10-25 00:00:00.000000000 Z
35
+ date: 2018-05-21 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: friendly_id
@@ -140,14 +140,14 @@ dependencies:
140
140
  requirements:
141
141
  - - '='
142
142
  - !ruby/object:Gem::Version
143
- version: 4.0.1
143
+ version: 4.0.2
144
144
  type: :runtime
145
145
  prerelease: false
146
146
  version_requirements: !ruby/object:Gem::Requirement
147
147
  requirements:
148
148
  - - '='
149
149
  - !ruby/object:Gem::Version
150
- version: 4.0.1
150
+ version: 4.0.2
151
151
  - !ruby/object:Gem::Dependency
152
152
  name: babosa
153
153
  requirement: !ruby/object:Gem::Requirement
@@ -286,6 +286,7 @@ files:
286
286
  - db/migrate/20151103211604_fix_slug_format_in_refinery_page_parts.rb
287
287
  - db/migrate/20170703015418_remove_translated_columns_to_refinery_pages.rb
288
288
  - db/migrate/20170703020017_remove_translated_columns_to_refinery_page_parts.rb
289
+ - db/migrate/20180316032602_add_children_count_to_refinery_pages.rb
289
290
  - db/seeds.rb
290
291
  - lib/generators/refinery/pages/pages_generator.rb
291
292
  - lib/generators/refinery/pages/templates/config/initializers/refinery/pages.rb.erb
@@ -314,6 +315,7 @@ files:
314
315
  - spec/lib/generators/refinery/pages/pages_generator_spec.rb
315
316
  - spec/lib/pages_spec.rb
316
317
  - spec/lib/refinery/pages/tab_spec.rb
318
+ - spec/lib/refinery/pages/type_spec.rb
317
319
  - spec/lib/refinery/pages/url_spec.rb
318
320
  - spec/models/refinery/page_finder_spec.rb
319
321
  - spec/models/refinery/page_menu_spec.rb
@@ -328,7 +330,7 @@ files:
328
330
  - spec/presenters/refinery/pages/section_presenter_spec.rb
329
331
  - spec/presenters/refinery/pages/title_section_presenter_spec.rb
330
332
  - spec/support/refinery/pages/caching_helpers.rb
331
- homepage: http://refinerycms.com
333
+ homepage: https://www.refinerycms.com
332
334
  licenses:
333
335
  - MIT
334
336
  metadata: {}
@@ -364,6 +366,7 @@ test_files:
364
366
  - spec/lib/generators/refinery/pages/pages_generator_spec.rb
365
367
  - spec/lib/pages_spec.rb
366
368
  - spec/lib/refinery/pages/tab_spec.rb
369
+ - spec/lib/refinery/pages/type_spec.rb
367
370
  - spec/lib/refinery/pages/url_spec.rb
368
371
  - spec/models/refinery/page_finder_spec.rb
369
372
  - spec/models/refinery/page_menu_spec.rb
metadata.gz.sig CHANGED
Binary file