Class: User
Class Method Summary collapse
-
.anonymous(attributes = {}) ⇒ Object
FIXME rename to build_anonymous.
- .authenticate(credentials) ⇒ Object
Instance Method Summary collapse
- #attributes=(attributes) ⇒ Object
- #email_with_name ⇒ Object
- #first_name_from_email ⇒ Object
- #homepage ⇒ Object
- #member_of?(site) ⇒ Boolean
- #name ⇒ Object
- #name=(name) ⇒ Object
-
#registered? ⇒ Boolean
def restore! update deleted_at: nil if deleted_at end.
- #to_s ⇒ Object
- #update_memberships(memberships) ⇒ Object
- #verified? ⇒ Boolean
- #verify! ⇒ Object
Class Method Details
.anonymous(attributes = {}) ⇒ Object
FIXME rename to build_anonymous
30 31 32 33 |
# File 'app/models/user.rb', line 30 def anonymous(attributes = {}) # FIXME rename to build_anonymous attributes[:anonymous] = true new attributes end |
Instance Method Details
#attributes=(attributes) ⇒ Object
36 37 38 39 40 41 42 |
# File 'app/models/user.rb', line 36 def attributes=(attributes) attributes.symbolize_keys! memberships = attributes.delete :memberships super.tap do update_memberships memberships if memberships end end |
#email_with_name ⇒ Object
87 88 89 |
# File 'app/models/user.rb', line 87 def email_with_name "#{name} <#{email}>" end |
#first_name_from_email ⇒ Object
97 98 99 |
# File 'app/models/user.rb', line 97 def first_name_from_email self.first_name.blank? && self.email ? self.email.split('@').first : self.first_name end |
#homepage ⇒ Object
91 92 93 94 95 |
# File 'app/models/user.rb', line 91 def homepage return nil unless self[:homepage] self[:homepage][0..6] == 'http://' ? self[:homepage] : 'http://' + self[:homepage] end |
#member_of?(site) ⇒ Boolean
55 56 57 |
# File 'app/models/user.rb', line 55 def member_of?(site) sites.include?(site) end |
#name ⇒ Object
79 80 81 |
# File 'app/models/user.rb', line 79 def name last_name ? "#{first_name} #{last_name}" : first_name end |
#name=(name) ⇒ Object
75 76 77 |
# File 'app/models/user.rb', line 75 def name=(name) self.first_name = name end |
#registered? ⇒ Boolean
def restore!
update deleted_at: nil if deleted_at
end
71 72 73 |
# File 'app/models/user.rb', line 71 def registered? !new_record? && !anonymous? end |
#to_s ⇒ Object
83 84 85 |
# File 'app/models/user.rb', line 83 def to_s name end |
#update_memberships(memberships) ⇒ Object
44 45 46 47 48 49 50 51 52 53 |
# File 'app/models/user.rb', line 44 def update_memberships(memberships) memberships.each do |site_id, active| site = Site.find(site_id) if active self.sites << site unless member_of?(site) else self.sites.delete(site) if member_of?(site) end end end |
#verified? ⇒ Boolean
59 60 61 |
# File 'app/models/user.rb', line 59 def verified? !verified_at.nil? end |