Sha256: 5c8921fa3529eed31304d8426ac709dbfce83dbc6b350474f1821cfaff5218bd

Contents?: true

Size: 653 Bytes

Versions: 1

Compression:

Stored size: 653 Bytes

Contents

module CanTango::Api::Masquerade
  module User
    attr_reader :masquerading, :active_user

    def masquerade_as user
      raise "Must be a registered type of user, was: #{user}" unless valid_user? user
      @masquerading = true
      @active_user = user
      self
    end

    def stop_masquerade
      @active_user, @masquerading = nil, nil
      self
    end

    def masquerading?
      !@masquerading.nil?
    end
    alias_method :masquerade?, :masquerading?
  
    private
  
    def valid_user? user
      registered_users.registered_class?(user.class)
    end
    
    def registered_users
      CanTango.config.users
    end    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cantango-masquerade-0.1.3.2 lib/cantango/masquerade/api/masquerade/user.rb