oivoodoo/devise_masquerade

View on GitHub
lib/devise_masquerade/controllers/url_helpers.rb

Summary

Maintainability
A
0 mins
Test Coverage
require 'securerandom'

module DeviseMasquerade
  module Controllers

    module UrlHelpers
      def masquerade_path(resource, *args)
        scope = Devise::Mapping.find_scope!(resource)

        opts = args.shift || {}
        opts[:masqueraded_resource_class] = resource.class.name

        opts[Devise.masquerade_param] = resource.masquerade_key

        send("#{scope}_masquerade_index_path", opts, *args)
      end

      def back_masquerade_path(resource, *args)
        scope = Devise::Mapping.find_scope!(resource)

        opts = args.first || {}
        opts[:masqueraded_resource_class] = resource.class.name

        send("back_#{scope}_masquerade_index_path", opts, *args)
      end
    end

  end
end