Module: ActiveRecord::Acts::MuckUser::InstanceMethods
- Defined in:
- lib/active_record/acts/muck_user.rb
Overview
All the methods available to a record that has had acts_as_muck_user
specified.
Instance Method Summary collapse
- #accepts_terms_of_service? ⇒ Boolean
- #activate! ⇒ Object
-
#active? ⇒ Boolean
Authlogic automatically executes the following methods.
-
#add_to_role(rolename) ⇒ Object
Add the user to a new role.
- #admin? ⇒ Boolean
- #any_role?(*test_rolenames) ⇒ Boolean
- #can_edit?(user) ⇒ Boolean
- #deactivate! ⇒ Object
- #deliver_activation_confirmation! ⇒ Object
- #deliver_activation_instructions! ⇒ Object
- #deliver_password_reset_instructions! ⇒ Object
- #deliver_username_request! ⇒ Object
- #deliver_welcome_email ⇒ Object
- #display_name ⇒ Object
- #full_name ⇒ Object
- #has_role?(rolename) ⇒ Boolean
- #is_in_role?(object, roles) ⇒ Boolean
-
#lower_login ⇒ Object
lowercase all logins.
-
#reset_password!(user) ⇒ Object
Since password reset doesn’t need to change openid_identifier, we save without block as usual.
- #short_name ⇒ Object
- #to_xml(options = {}) ⇒ Object
Instance Method Details
#accepts_terms_of_service? ⇒ Boolean
206 207 208 209 210 |
# File 'lib/active_record/acts/muck_user.rb', line 206 def accepts_terms_of_service? if !self.terms_of_service errors.add_to_base(I18n.translate('muck.users.terms_of_service_required')) end end |
#activate! ⇒ Object
182 183 184 |
# File 'lib/active_record/acts/muck_user.rb', line 182 def activate! self.update_attribute(:activated_at, Time.now.utc) end |
#active? ⇒ Boolean
Authlogic automatically executes the following methods
167 168 169 |
# File 'lib/active_record/acts/muck_user.rb', line 167 def active? !activated_at.blank? end |
#add_to_role(rolename) ⇒ Object
Add the user to a new role
143 144 145 146 |
# File 'lib/active_record/acts/muck_user.rb', line 143 def add_to_role(rolename) role = Role.find_or_create_by_rolename(rolename) self.roles << role if !self.roles.include?(role) # Make sure that the user can only be put into a role once end |
#admin? ⇒ Boolean
148 149 150 |
# File 'lib/active_record/acts/muck_user.rb', line 148 def admin? self.has_role?('administrator') end |
#any_role?(*test_rolenames) ⇒ Boolean
134 135 136 137 138 139 140 |
# File 'lib/active_record/acts/muck_user.rb', line 134 def any_role?(*test_rolenames) test_rolenames = [test_rolenames] unless test_rolenames.is_a?(Array) test_rolenames.flatten! @role_names ||= self.roles.map(&:rolename) return false if @role_names.blank? (@role_names & test_rolenames).length > 0 end |
#can_edit?(user) ⇒ Boolean
152 153 154 155 |
# File 'lib/active_record/acts/muck_user.rb', line 152 def can_edit?(user) return false if user.nil? self.id == user.id || user.admin? end |
#deactivate! ⇒ Object
186 187 188 |
# File 'lib/active_record/acts/muck_user.rb', line 186 def deactivate! self.update_attribute(:activated_at, nil) end |
#deliver_activation_confirmation! ⇒ Object
95 96 97 98 |
# File 'lib/active_record/acts/muck_user.rb', line 95 def deliver_activation_confirmation! reset_perishable_token! UserMailer.deliver_activation_confirmation(self) end |
#deliver_activation_instructions! ⇒ Object
100 101 102 103 |
# File 'lib/active_record/acts/muck_user.rb', line 100 def deliver_activation_instructions! reset_perishable_token! UserMailer.deliver_activation_instructions(self) end |
#deliver_password_reset_instructions! ⇒ Object
105 106 107 108 109 110 111 112 |
# File 'lib/active_record/acts/muck_user.rb', line 105 def deliver_password_reset_instructions! if self.active? reset_perishable_token! UserMailer.deliver_password_reset_instructions(self) else UserMailer.deliver_password_not_active_instructions(self) end end |
#deliver_username_request! ⇒ Object
114 115 116 |
# File 'lib/active_record/acts/muck_user.rb', line 114 def deliver_username_request! UserMailer.deliver_username_request(self) end |
#deliver_welcome_email ⇒ Object
91 92 93 |
# File 'lib/active_record/acts/muck_user.rb', line 91 def deliver_welcome_email UserMailer.deliver_welcome_notification(self) if GlobalConfig.send_welcome end |
#display_name ⇒ Object
202 203 204 |
# File 'lib/active_record/acts/muck_user.rb', line 202 def display_name CGI::escapeHTML(self.login) end |
#full_name ⇒ Object
194 195 196 197 198 199 200 |
# File 'lib/active_record/acts/muck_user.rb', line 194 def full_name if self.first_name.blank? && self.last_name.blank? self.display_name rescue 'Deleted user' else ((CGI::escapeHTML(self.first_name) || '') + ' ' + (CGI::escapeHTML(self.last_name) || '')).strip end end |
#has_role?(rolename) ⇒ Boolean
130 131 132 |
# File 'lib/active_record/acts/muck_user.rb', line 130 def has_role?(rolename) self.any_role?(rolename) end |
#is_in_role?(object, roles) ⇒ Boolean
126 127 128 |
# File 'lib/active_record/acts/muck_user.rb', line 126 def is_in_role?(object, roles) raise 'not implemented' end |
#lower_login ⇒ Object
lowercase all logins
178 179 180 |
# File 'lib/active_record/acts/muck_user.rb', line 178 def lower_login self.login = self.login.nil? ? nil : self.login.downcase end |
#reset_password!(user) ⇒ Object
Since password reset doesn’t need to change openid_identifier, we save without block as usual.
120 121 122 123 124 |
# File 'lib/active_record/acts/muck_user.rb', line 120 def reset_password!(user) self.password = user[:password] self.password_confirmation = user[:password_confirmation] save end |
#short_name ⇒ Object
190 191 192 |
# File 'lib/active_record/acts/muck_user.rb', line 190 def short_name CGI::escapeHTML(self.first_name) || self.display_name end |
#to_xml(options = {}) ⇒ Object
157 158 159 160 161 162 163 164 |
# File 'lib/active_record/acts/muck_user.rb', line 157 def to_xml( = {}) [:except] ||= [] [:except] << :email << :crypted_password << :salt << :remember_token << :remember_token_expires_at << :activation_code [:except] << :activated_at << :password_reset_code << :enabled << :terms_of_service << :can_send_messages << :identity_url [:except] << :tmp_password << :protected_profile << :public_profile [:except] << :password_salt << :perishable_token << :persistence_token << :single_access_token super end |