refinerycms-pages 2.0.4 → 2.0.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.
- data/app/controllers/refinery/pages_controller.rb +5 -1
- data/app/helpers/refinery/admin/pages_helper.rb +12 -0
- data/app/models/refinery/page.rb +27 -23
- data/app/views/refinery/admin/pages/_form_advanced_options.html.erb +4 -10
- data/app/views/refinery/admin/pages/_page.html.erb +10 -12
- data/db/seeds.rb +7 -0
- data/lib/refinery/pages/engine.rb +5 -1
- data/spec/controllers/refinery/admin/pages_controller_spec.rb +17 -0
- data/spec/helpers/refinery/pages/admin/pages_helper_spec.rb +54 -0
- data/spec/models/refinery/page_spec.rb +36 -0
- data/spec/requests/refinery/admin/pages_spec.rb +1 -1
- metadata +9 -5
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            module Refinery
         | 
| 2 2 | 
             
              class PagesController < ::ApplicationController
         | 
| 3 | 
            -
                before_filter :find_page, :except => [:preview]
         | 
| 3 | 
            +
                before_filter :find_page, :set_canonical, :except => [:preview]
         | 
| 4 4 |  | 
| 5 5 | 
             
                # Save whole Page after delivery
         | 
| 6 6 | 
             
                after_filter { |c| c.write_cache? }
         | 
| @@ -94,6 +94,10 @@ module Refinery | |
| 94 94 | 
             
                  render render_options if render_options.any?
         | 
| 95 95 | 
             
                end
         | 
| 96 96 |  | 
| 97 | 
            +
                def set_canonical
         | 
| 98 | 
            +
                  @canonical = refinery.url_for @page.canonical if @page.present?
         | 
| 99 | 
            +
                end
         | 
| 100 | 
            +
             | 
| 97 101 | 
             
                def write_cache?
         | 
| 98 102 | 
             
                  if Refinery::Pages.cache_pages_full
         | 
| 99 103 | 
             
                    cache_page(response.body, File.join('', 'refinery', 'cache', 'pages', request.path.sub("//", "/")).to_s)
         | 
| @@ -10,6 +10,18 @@ module Refinery | |
| 10 10 | 
             
                    ActiveRecord::Associations::Preloader.new(pages, :translations).run
         | 
| 11 11 | 
             
                    pages.map {|page| ["#{'-' * page.level} #{page.title}", page.id]}
         | 
| 12 12 | 
             
                  end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  def template_options(template_type, current_page)
         | 
| 15 | 
            +
                    return {} if current_page.send(template_type)
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                    if current_page.parent_id?
         | 
| 18 | 
            +
                      # Use Parent Template by default.
         | 
| 19 | 
            +
                      { :selected => current_page.parent.send(template_type) }
         | 
| 20 | 
            +
                    else
         | 
| 21 | 
            +
                      # Use Default Template (First in whitelist)
         | 
| 22 | 
            +
                      { :selected => Refinery::Pages.send("#{template_type}_whitelist").first }
         | 
| 23 | 
            +
                    end
         | 
| 24 | 
            +
                  end
         | 
| 13 25 | 
             
                end
         | 
| 14 26 | 
             
              end
         | 
| 15 27 | 
             
            end
         | 
    
        data/app/models/refinery/page.rb
    CHANGED
    
    | @@ -26,7 +26,8 @@ module Refinery | |
| 26 26 | 
             
                                :skip_to_first_child, :position, :show_in_menu, :draft,
         | 
| 27 27 | 
             
                                :parts_attributes, :browser_title, :meta_description,
         | 
| 28 28 | 
             
                                :parent_id, :menu_title, :created_at, :updated_at,
         | 
| 29 | 
            -
                                :page_id, :layout_template, :view_template, :custom_slug
         | 
| 29 | 
            +
                                :page_id, :layout_template, :view_template, :custom_slug,
         | 
| 30 | 
            +
                                :slug
         | 
| 30 31 |  | 
| 31 32 | 
             
                attr_accessor :locale, :page_title, :page_menu_title # to hold temporarily
         | 
| 32 33 | 
             
                validates :title, :presence => true
         | 
| @@ -173,7 +174,7 @@ module Refinery | |
| 173 174 |  | 
| 174 175 | 
             
                  # Returns how many pages per page should there be when paginating pages
         | 
| 175 176 | 
             
                  def per_page(dialog = false)
         | 
| 176 | 
            -
                    dialog ? Pages.pages_per_dialog : Pages. | 
| 177 | 
            +
                    dialog ? Pages.pages_per_dialog : Pages.pages_per_admin_index
         | 
| 177 178 | 
             
                  end
         | 
| 178 179 |  | 
| 179 180 | 
             
                  def expire_page_caching
         | 
| @@ -186,18 +187,25 @@ module Refinery | |
| 186 187 | 
             
                      return true # so that other callbacks process.
         | 
| 187 188 | 
             
                    end
         | 
| 188 189 | 
             
                  end
         | 
| 190 | 
            +
             | 
| 191 | 
            +
                  def rebuild_with_invalidate_cached_urls!
         | 
| 192 | 
            +
                    rebuild_without_invalidate_cached_urls!
         | 
| 193 | 
            +
                    find_each { |page| page.send :invalidate_cached_urls }
         | 
| 194 | 
            +
                  end
         | 
| 195 | 
            +
                  alias_method_chain :rebuild!, :invalidate_cached_urls
         | 
| 196 | 
            +
                end
         | 
| 197 | 
            +
             | 
| 198 | 
            +
                # The canonical page for this particular page.
         | 
| 199 | 
            +
                # Consists of:
         | 
| 200 | 
            +
                #   * The default locale's translated slug
         | 
| 201 | 
            +
                def canonical
         | 
| 202 | 
            +
                  Globalize.with_locale(::Refinery::I18n.default_frontend_locale){ url }
         | 
| 189 203 | 
             
                end
         | 
| 190 204 |  | 
| 191 205 | 
             
                # Returns in cascading order: custom_slug or menu_title or title depending on
         | 
| 192 206 | 
             
                # which attribute is first found to be present for this page.
         | 
| 193 207 | 
             
                def custom_slug_or_title
         | 
| 194 | 
            -
                   | 
| 195 | 
            -
                    custom_slug
         | 
| 196 | 
            -
                  elsif menu_title.present?
         | 
| 197 | 
            -
                    menu_title
         | 
| 198 | 
            -
                  else
         | 
| 199 | 
            -
                    title
         | 
| 200 | 
            -
                  end
         | 
| 208 | 
            +
                  custom_slug.presence || menu_title.presence || title
         | 
| 201 209 | 
             
                end
         | 
| 202 210 |  | 
| 203 211 | 
             
                # Am I allowed to delete this page?
         | 
| @@ -291,7 +299,7 @@ module Refinery | |
| 291 299 | 
             
                # For example, this might evaluate to /about for the "About" page.
         | 
| 292 300 | 
             
                def url_marketable
         | 
| 293 301 | 
             
                  # :id => nil is important to prevent any other params[:id] from interfering with this route.
         | 
| 294 | 
            -
                  url_normal.merge | 
| 302 | 
            +
                  url_normal.merge :path => nested_url, :id => nil
         | 
| 295 303 | 
             
                end
         | 
| 296 304 |  | 
| 297 305 | 
             
                # Returns a url suitable to be used in url_for in Rails (such as link_to).
         | 
| @@ -302,26 +310,23 @@ module Refinery | |
| 302 310 |  | 
| 303 311 | 
             
                # If the current locale is set to something other than the default locale
         | 
| 304 312 | 
             
                # then the :locale attribute will be set on the url hash, otherwise it won't be.
         | 
| 305 | 
            -
                def with_locale_param(url_hash)
         | 
| 306 | 
            -
                  if self.class.different_frontend_locale?
         | 
| 307 | 
            -
             | 
| 308 | 
            -
                  end
         | 
| 313 | 
            +
                def with_locale_param(url_hash, locale = nil)
         | 
| 314 | 
            +
                  locale ||= ::Refinery::I18n.current_frontend_locale if self.class.different_frontend_locale?
         | 
| 315 | 
            +
                  url_hash.update :locale => locale if locale
         | 
| 309 316 | 
             
                  url_hash
         | 
| 310 317 | 
             
                end
         | 
| 311 318 |  | 
| 319 | 
            +
                def uncached_nested_url
         | 
| 320 | 
            +
                  [parent.try(:uncached_nested_url), to_param.to_s].compact.flatten
         | 
| 321 | 
            +
                end
         | 
| 322 | 
            +
             | 
| 312 323 | 
             
                # Returns an array with all ancestors to_param, allow with its own
         | 
| 313 324 | 
             
                # Ex: with an About page and a Mission underneath,
         | 
| 314 325 | 
             
                # ::Refinery::Page.find('mission').nested_url would return:
         | 
| 315 326 | 
             
                #
         | 
| 316 327 | 
             
                #   ['about', 'mission']
         | 
| 317 328 | 
             
                #
         | 
| 318 | 
            -
                 | 
| 319 | 
            -
                  Rails.cache.fetch(url_cache_key) { uncached_nested_url }
         | 
| 320 | 
            -
                end
         | 
| 321 | 
            -
             | 
| 322 | 
            -
                def uncached_nested_url
         | 
| 323 | 
            -
                  [parent.try(:nested_url), to_param.to_s].compact.flatten
         | 
| 324 | 
            -
                end
         | 
| 329 | 
            +
                alias_method :nested_url, :uncached_nested_url
         | 
| 325 330 |  | 
| 326 331 | 
             
                # Returns the string version of nested_url, i.e., the path that should be generated
         | 
| 327 332 | 
             
                # by the router
         | 
| @@ -444,8 +449,7 @@ module Refinery | |
| 444 449 | 
             
                end
         | 
| 445 450 | 
             
                alias_method_chain :normalize_friendly_id, :marketable_urls
         | 
| 446 451 |  | 
| 447 | 
            -
             | 
| 448 | 
            -
             | 
| 452 | 
            +
                private
         | 
| 449 453 | 
             
                def invalidate_cached_urls
         | 
| 450 454 | 
             
                  return true unless Refinery::Pages.marketable_urls
         | 
| 451 455 |  | 
| @@ -26,11 +26,8 @@ | |
| 26 26 | 
             
                    <%= f.label :layout_template, t('.layout_template') %>
         | 
| 27 27 | 
             
                    <%= refinery_help_tag t('.layout_template_help') %>
         | 
| 28 28 | 
             
                  </span>
         | 
| 29 | 
            -
                   | 
| 30 | 
            -
             | 
| 31 | 
            -
                  <% else %>
         | 
| 32 | 
            -
                    <%= f.select(:layout_template, @valid_layout_templates) %>
         | 
| 33 | 
            -
                  <% end %>
         | 
| 29 | 
            +
                  <%= f.select :layout_template, @valid_layout_templates,
         | 
| 30 | 
            +
                               template_options(:layout_template, @page) %>
         | 
| 34 31 | 
             
                </div>
         | 
| 35 32 | 
             
                <% end %>
         | 
| 36 33 | 
             
                <% if Refinery::Pages.use_view_templates %>
         | 
| @@ -39,11 +36,8 @@ | |
| 39 36 | 
             
                    <%= f.label :view_template, t('.view_template') %>
         | 
| 40 37 | 
             
                    <%= refinery_help_tag t('.view_template_help') %>
         | 
| 41 38 | 
             
                  </span>
         | 
| 42 | 
            -
                   | 
| 43 | 
            -
             | 
| 44 | 
            -
                  <% else %>
         | 
| 45 | 
            -
                    <%= f.select(:view_template, @valid_view_templates.map{|t| [t.titleize, t]}) %>
         | 
| 46 | 
            -
                  <% end %>
         | 
| 39 | 
            +
                  <%= f.select :view_template, @valid_view_templates.map { |t| [t.titleize, t] },
         | 
| 40 | 
            +
                               template_options(:view_template, @page) %>
         | 
| 47 41 | 
             
                </div>
         | 
| 48 42 | 
             
                <% end %>
         | 
| 49 43 |  | 
| @@ -8,22 +8,20 @@ | |
| 8 8 |  | 
| 9 9 | 
             
                <span class='title <%= 'toggle' if page.children.present? %>'>
         | 
| 10 10 | 
             
                  <%= page.title_with_meta.html_safe %>
         | 
| 11 | 
            -
                  <% if Refinery.i18n_enabled? and Refinery::I18n.frontend_locales.many? %>
         | 
| 12 | 
            -
                    <span class='preview'>
         | 
| 13 | 
            -
                      <% page.translations.each do |translation| %>
         | 
| 14 | 
            -
                        <% if translation.title.present? %>
         | 
| 15 | 
            -
                          <%= link_to refinery_icon_tag("flags/#{translation.locale}.png", :size => '16x11'),
         | 
| 16 | 
            -
                                      refinery.edit_admin_page_path(page, :switch_locale => translation.locale),
         | 
| 17 | 
            -
                                      :class => 'locale' %>
         | 
| 18 | 
            -
                        <% end %>
         | 
| 19 | 
            -
                      <% end %>
         | 
| 20 | 
            -
                    </span>
         | 
| 21 | 
            -
                  <% end %>
         | 
| 22 11 | 
             
                </span>
         | 
| 12 | 
            +
                <% if Refinery.i18n_enabled? and Refinery::I18n.frontend_locales.many? %>
         | 
| 13 | 
            +
                  <span class='locales'>
         | 
| 14 | 
            +
                    <% page.translations.each do |translation| %>
         | 
| 15 | 
            +
                      <%= link_to refinery_icon_tag("flags/#{translation.locale}.png", :size => '16x11'),
         | 
| 16 | 
            +
                                  refinery.edit_admin_page_path(page.nested_url, :switch_locale => translation.locale),
         | 
| 17 | 
            +
                                  :class => 'locale' if translation.title.present? %>
         | 
| 18 | 
            +
                    <% end %>
         | 
| 19 | 
            +
                  </span>
         | 
| 20 | 
            +
                <% end %>
         | 
| 23 21 |  | 
| 24 22 | 
             
                <span class='actions'>
         | 
| 25 23 | 
             
                  <%= link_to refinery_icon_tag('application_go.png'),
         | 
| 26 | 
            -
                               | 
| 24 | 
            +
                              page.url,
         | 
| 27 25 | 
             
                              :target => "_blank",
         | 
| 28 26 | 
             
                              :title => t('.view_live_html') %>
         | 
| 29 27 | 
             
                  <%= link_to refinery_icon_tag('page_add.png'),
         | 
    
        data/db/seeds.rb
    CHANGED
    
    | @@ -39,3 +39,10 @@ if Refinery::Page.by_title("About").empty? | |
| 39 39 | 
             
                            :position => 1
         | 
| 40 40 | 
             
                          })
         | 
| 41 41 | 
             
            end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
            (Refinery.i18n_enabled? ? Refinery::I18n.frontend_locales : [:en]).each do |lang|
         | 
| 44 | 
            +
              I18n.locale = lang
         | 
| 45 | 
            +
              Refinery::Page.find_by_title("Home").update_attributes(:slug => "home")
         | 
| 46 | 
            +
              Refinery::Page.find_by_title("Page not found").update_attributes(:slug => "page-not-found")
         | 
| 47 | 
            +
              Refinery::Page.find_by_title("About").update_attributes(:slug => "about")
         | 
| 48 | 
            +
            end
         | 
| @@ -24,7 +24,11 @@ module Refinery | |
| 24 24 | 
             
                      plugin.name = 'refinery_pages'
         | 
| 25 25 | 
             
                      plugin.version = %q{2.0.0}
         | 
| 26 26 | 
             
                      plugin.menu_match = %r{refinery/page(_part|s_dialog)?s$}
         | 
| 27 | 
            -
                      plugin.activity = { | 
| 27 | 
            +
                      plugin.activity = {
         | 
| 28 | 
            +
                        :class_name => :'refinery/page',
         | 
| 29 | 
            +
                        :nested_with => [:uncached_nested_url],
         | 
| 30 | 
            +
                        :use_record_in_nesting => false
         | 
| 31 | 
            +
                      }
         | 
| 28 32 | 
             
                      plugin.url = proc { Refinery::Core::Engine.routes.url_helpers.admin_pages_path }
         | 
| 29 33 | 
             
                    end
         | 
| 30 34 | 
             
                  end
         | 
| @@ -0,0 +1,17 @@ | |
| 1 | 
            +
            require "spec_helper"
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Refinery
         | 
| 4 | 
            +
              module Admin
         | 
| 5 | 
            +
                describe PagesController do
         | 
| 6 | 
            +
                  login_refinery_superuser
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                  describe "#update_positions" do
         | 
| 9 | 
            +
                    it "calls .rebuild! on Refinery::Page" do
         | 
| 10 | 
            +
                      Refinery::Page.should_receive(:rebuild!).once
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                      post :update_positions, :ul => []
         | 
| 13 | 
            +
                    end
         | 
| 14 | 
            +
                  end
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
            end
         | 
| @@ -0,0 +1,54 @@ | |
| 1 | 
            +
            require "spec_helper"
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Refinery
         | 
| 4 | 
            +
              module Admin
         | 
| 5 | 
            +
                describe PagesHelper do
         | 
| 6 | 
            +
                  describe "#template_options" do
         | 
| 7 | 
            +
                    context "when page layout/view templte is set" do
         | 
| 8 | 
            +
                      it "returns empty hash" do
         | 
| 9 | 
            +
                        page = FactoryGirl.create(:page)
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                        page.view_template = "rspec_template"
         | 
| 12 | 
            +
                        helper.template_options(:view_template, page).should eq({})
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                        page.layout_template = "rspec_layout"
         | 
| 15 | 
            +
                        helper.template_options(:layout_template, page).should eq({})
         | 
| 16 | 
            +
                      end
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                    context "when page layout/view template isn't set" do
         | 
| 20 | 
            +
                      context "when page has parent" do
         | 
| 21 | 
            +
                        it "returns option hash based on parent page" do
         | 
| 22 | 
            +
                          parent = FactoryGirl.create(:page, :view_template => "rspec_view",
         | 
| 23 | 
            +
                                                             :layout_template => "rspec_layout")
         | 
| 24 | 
            +
                          page = FactoryGirl.create(:page, :parent_id => parent.id)
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                          expected_view = { :selected => parent.view_template }
         | 
| 27 | 
            +
                          helper.template_options(:view_template, page).should eq(expected_view)
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                          expected_layout = { :selected => parent.layout_template }
         | 
| 30 | 
            +
                          helper.template_options(:layout_template, page).should eq(expected_layout)
         | 
| 31 | 
            +
                        end
         | 
| 32 | 
            +
                      end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                      context "when page doesn't have parent page" do
         | 
| 35 | 
            +
                        before do
         | 
| 36 | 
            +
                          Refinery::Pages.stub(:view_template_whitelist).and_return(%w(one two))
         | 
| 37 | 
            +
                          Refinery::Pages.stub(:layout_template_whitelist).and_return(%w(two one))
         | 
| 38 | 
            +
                        end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                        it "returns option hash with first item from configured whitelist" do
         | 
| 41 | 
            +
                          page = FactoryGirl.create(:page)
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                          expected_view = { :selected => "one" }
         | 
| 44 | 
            +
                          helper.template_options(:view_template, page).should eq(expected_view)
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                          expected_layout = { :selected => "two" }
         | 
| 47 | 
            +
                          helper.template_options(:layout_template, page).should eq(expected_layout)
         | 
| 48 | 
            +
                        end
         | 
| 49 | 
            +
                      end
         | 
| 50 | 
            +
                    end
         | 
| 51 | 
            +
                  end
         | 
| 52 | 
            +
                end
         | 
| 53 | 
            +
              end
         | 
| 54 | 
            +
            end 
         | 
| @@ -1,3 +1,4 @@ | |
| 1 | 
            +
            # encoding: utf-8
         | 
| 1 2 | 
             
            require 'spec_helper'
         | 
| 2 3 |  | 
| 3 4 | 
             
            module Refinery
         | 
| @@ -103,6 +104,41 @@ module Refinery | |
| 103 104 | 
             
                  end
         | 
| 104 105 | 
             
                end
         | 
| 105 106 |  | 
| 107 | 
            +
                describe '#canonical' do
         | 
| 108 | 
            +
                  before do
         | 
| 109 | 
            +
                    ::Refinery::I18n.stub(:default_frontend_locale).and_return(:en)
         | 
| 110 | 
            +
                    ::Refinery::I18n.stub(:frontend_locales).and_return([Refinery::I18n.default_frontend_locale, :ru])
         | 
| 111 | 
            +
                    ::Refinery::I18n.stub(:current_frontend_locale).and_return(Refinery::I18n.default_frontend_locale)
         | 
| 112 | 
            +
             | 
| 113 | 
            +
                    page.save
         | 
| 114 | 
            +
                  end
         | 
| 115 | 
            +
                  let(:page_title)  { 'team' }
         | 
| 116 | 
            +
                  let(:child_title) { 'about' }
         | 
| 117 | 
            +
                  let(:ru_page_title) { 'Новости' }
         | 
| 118 | 
            +
                  let!(:default_canonical) {
         | 
| 119 | 
            +
                    Globalize.with_locale(::Refinery::I18n.default_frontend_locale) {
         | 
| 120 | 
            +
                      page.canonical
         | 
| 121 | 
            +
                    }
         | 
| 122 | 
            +
                  }
         | 
| 123 | 
            +
             | 
| 124 | 
            +
                  specify 'page returns itself' do
         | 
| 125 | 
            +
                    page.canonical.should == page.url
         | 
| 126 | 
            +
                  end
         | 
| 127 | 
            +
             | 
| 128 | 
            +
                  specify 'default canonical matches page#canonical' do
         | 
| 129 | 
            +
                    default_canonical.should == page.canonical
         | 
| 130 | 
            +
                  end
         | 
| 131 | 
            +
             | 
| 132 | 
            +
                  specify 'translated page returns master page' do
         | 
| 133 | 
            +
                    Globalize.with_locale(:ru) do
         | 
| 134 | 
            +
                      page.title = ru_page_title
         | 
| 135 | 
            +
                      page.save
         | 
| 136 | 
            +
             | 
| 137 | 
            +
                      page.canonical.should == default_canonical
         | 
| 138 | 
            +
                    end
         | 
| 139 | 
            +
                  end
         | 
| 140 | 
            +
                end
         | 
| 141 | 
            +
             | 
| 106 142 | 
             
                context 'custom slugs' do
         | 
| 107 143 | 
             
                  let(:custom_page_slug) { 'custom-page-slug' }
         | 
| 108 144 | 
             
                  let(:custom_child_slug) { 'custom-child-slug' }
         | 
| @@ -132,7 +132,7 @@ module Refinery | |
| 132 132 | 
             
                      page.body.should =~ /Add a new child page/
         | 
| 133 133 | 
             
                      page.body.should =~ %r{/refinery/pages/new\?parent_id=}
         | 
| 134 134 | 
             
                      page.body.should =~ /View this page live/
         | 
| 135 | 
            -
                      page.body.should =~ %r{/ | 
| 135 | 
            +
                      page.body.should =~ %r{href="/my-first-page"}
         | 
| 136 136 |  | 
| 137 137 | 
             
                      Refinery::Page.count.should == 1
         | 
| 138 138 | 
             
                    end
         | 
    
        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: 2.0. | 
| 4 | 
            +
              version: 2.0.5
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -54,7 +54,7 @@ dependencies: | |
| 54 54 | 
             
                requirements:
         | 
| 55 55 | 
             
                - - '='
         | 
| 56 56 | 
             
                  - !ruby/object:Gem::Version
         | 
| 57 | 
            -
                    version: 2.0. | 
| 57 | 
            +
                    version: 2.0.5
         | 
| 58 58 | 
             
              type: :runtime
         | 
| 59 59 | 
             
              prerelease: false
         | 
| 60 60 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -62,7 +62,7 @@ dependencies: | |
| 62 62 | 
             
                requirements:
         | 
| 63 63 | 
             
                - - '='
         | 
| 64 64 | 
             
                  - !ruby/object:Gem::Version
         | 
| 65 | 
            -
                    version: 2.0. | 
| 65 | 
            +
                    version: 2.0.5
         | 
| 66 66 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 67 67 | 
             
              name: babosa
         | 
| 68 68 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -168,7 +168,9 @@ files: | |
| 168 168 | 
             
            - lib/refinerycms-pages.rb
         | 
| 169 169 | 
             
            - license.md
         | 
| 170 170 | 
             
            - refinerycms-pages.gemspec
         | 
| 171 | 
            +
            - spec/controllers/refinery/admin/pages_controller_spec.rb
         | 
| 171 172 | 
             
            - spec/factories/pages.rb
         | 
| 173 | 
            +
            - spec/helpers/refinery/pages/admin/pages_helper_spec.rb
         | 
| 172 174 | 
             
            - spec/helpers/refinery/pages/content_pages_helper_spec.rb
         | 
| 173 175 | 
             
            - spec/lib/generators/refinery/pages/pages_generator_spec.rb
         | 
| 174 176 | 
             
            - spec/lib/pages/content_page_presenter_spec.rb
         | 
| @@ -195,7 +197,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 195 197 | 
             
                  version: '0'
         | 
| 196 198 | 
             
                  segments:
         | 
| 197 199 | 
             
                  - 0
         | 
| 198 | 
            -
                  hash:  | 
| 200 | 
            +
                  hash: -121281082121598221
         | 
| 199 201 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 200 202 | 
             
              none: false
         | 
| 201 203 | 
             
              requirements:
         | 
| @@ -204,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 204 206 | 
             
                  version: '0'
         | 
| 205 207 | 
             
                  segments:
         | 
| 206 208 | 
             
                  - 0
         | 
| 207 | 
            -
                  hash:  | 
| 209 | 
            +
                  hash: -121281082121598221
         | 
| 208 210 | 
             
            requirements: []
         | 
| 209 211 | 
             
            rubyforge_project: refinerycms
         | 
| 210 212 | 
             
            rubygems_version: 1.8.22
         | 
| @@ -212,7 +214,9 @@ signing_key: | |
| 212 214 | 
             
            specification_version: 3
         | 
| 213 215 | 
             
            summary: Pages extension for Refinery CMS
         | 
| 214 216 | 
             
            test_files:
         | 
| 217 | 
            +
            - spec/controllers/refinery/admin/pages_controller_spec.rb
         | 
| 215 218 | 
             
            - spec/factories/pages.rb
         | 
| 219 | 
            +
            - spec/helpers/refinery/pages/admin/pages_helper_spec.rb
         | 
| 216 220 | 
             
            - spec/helpers/refinery/pages/content_pages_helper_spec.rb
         | 
| 217 221 | 
             
            - spec/lib/generators/refinery/pages/pages_generator_spec.rb
         | 
| 218 222 | 
             
            - spec/lib/pages/content_page_presenter_spec.rb
         |