Sha256: 6113eb02c98014a41e9dad78e7555dc8fec35748634a4c5dc2874b9234d1542a

Contents?: true

Size: 945 Bytes

Versions: 4

Compression:

Stored size: 945 Bytes

Contents

module Devise
  module Controllers
    module ScopedViews
      extend ActiveSupport::Concern

      module ClassMethods
        def scoped_views
          defined?(@scoped_views) ? @scoped_views : Devise.scoped_views
        end

        def scoped_views=(value)
          @scoped_views = value
        end
      end

    protected

      # Render a view for the specified scope. Turned off by default.
      # Accepts just :controller as option.
      def render_with_scope(action, options={})
        controller_name = options.delete(:controller) || self.controller_name

        if self.class.scoped_views
          begin
            render :template => "#{devise_mapping.as}/#{controller_name}/#{action}"
          rescue ActionView::MissingTemplate
            render :template => "#{controller_path}/#{action}"
          end
        else
          render :template => "#{controller_path}/#{action}"
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
devise-1.1.pre4 lib/devise/controllers/scoped_views.rb
devise-1.1.pre3 lib/devise/controllers/scoped_views.rb
devise-1.1.pre2 lib/devise/controllers/scoped_views.rb
devise-1.1.pre lib/devise/controllers/scoped_views.rb