Module: ActsAsUser

Extended by:
ActiveSupport::Autoload
Defined in:
lib/acts_as_user.rb,
lib/acts_as_user/is_user.rb,
lib/acts_as_user/railtie.rb,
lib/acts_as_user/version.rb,
lib/acts_as_user/user_delegate.rb,
lib/generators/acts_as_user/orm_helpers.rb,
lib/generators/acts_as_user/install_generator.rb,
lib/generators/acts_as_user/acts_as_user_generator.rb

Defined Under Namespace

Modules: Generators, IsUser, UserDelegate Classes: Railtie

Constant Summary collapse

VERSION =
"1.2.3"
@@default_ignored_attributes =

We ignore some attribues that might cause a collision between models

["created_at", "updated_at", "id", "userable_type", "userable_id"]
@@models_acting_like_users =

Array to define the models that are inhering from the user

[]
@@ignored_attributes =
@@ignored_attributes.to_a + @@default_ignored_attributes
@@models_acting_as_users =
[]

Class Method Summary collapse

Class Method Details

.add_devise_attributes_to_ignoreObject

We add some virtual attributes that dont’t play well when devise is present



47
48
49
50
51
52
53
# File 'lib/acts_as_user.rb', line 47

def self.add_devise_attributes_to_ignore
  if self.devise?
    devise_ignore_attrs = ['password', 'password_confirmation', 'encrypted_password']
    self.ignored_attributes << devise_ignore_attrs
    self.ignored_attributes.flatten!
  end
end

.devise?Boolean

Checking if devise is present

Returns:

  • (Boolean)


42
43
44
# File 'lib/acts_as_user.rb', line 42

def self.devise?
  defined?(Devise).present?
end

.eager_load!Object

ActiveSupport::Autoload automatically defines an eager_load! method. In this case, we are extending the method to also eager load the ActsAsUser modules.



17
18
19
20
21
# File 'lib/acts_as_user.rb', line 17

def self.eager_load!
  super 
  ActsAsUser::UserDelegate.eager_load!
  ActsAsUser::IsUser.eager_load!
end

.setup {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (ActsAsUser)

    the object that the method was called on



37
38
39
# File 'lib/acts_as_user.rb', line 37

def self.setup
  yield self    
end