Sha256: e110313d2a139cd6268de3e03f605ac411709c954f4ff1e40ef56854b71760dd

Contents?: true

Size: 1.1 KB

Versions: 2

Compression:

Stored size: 1.1 KB

Contents

module Locomotive
  module ActionController
    module UrlHelpers

      extend ActiveSupport::Concern

      included do
        helper_method :current_site_public_url, :switch_to_site_url, :public_page_url
      end

      def current_site_public_url
        request.protocol + request.host_with_port
      end

      def switch_to_site_url(site, options = {})
        options = { :fullpath => true, :protocol => true }.merge(options)

        url = "#{site.subdomain}.#{Locomotive.config.domain}"
        url += ":#{request.port}" if request.port != 80

        url = File.join(url, request.fullpath) if options[:fullpath]
        url = "http://#{url}" if options[:protocol]
        url
      end

      def public_page_url(page, options = {})
        Rails.logger.info "[public_page_url] =====> #{page.attributes.inspect} / #{page.fullpath.inspect}\n\n"
        if content = options.delete(:content)
          File.join(current_site_public_url, page.fullpath.gsub('content_type_template', ''), content._slug)
        else
          File.join(current_site_public_url, page.fullpath)
        end
      end

    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
locomotive_cms-2.0.0.rc12 lib/locomotive/action_controller/url_helpers.rb
locomotive_cms-2.0.0.rc11 lib/locomotive/action_controller/url_helpers.rb