46 lines
1.4 KiB
Ruby
46 lines
1.4 KiB
Ruby
require 'open-uri'
|
|
|
|
class User < ActiveRecord::Base
|
|
|
|
has_many :topics
|
|
has_many :synapses
|
|
has_many :maps
|
|
has_many :mappings
|
|
|
|
acts_as_authentic do |configuration|
|
|
configuration.session_class = Session
|
|
configuration.require_password_confirmation = false
|
|
|
|
configuration.merge_validates_format_of_email_field_options unless: Proc.new { |user| user.email.blank? and user.authed? }
|
|
configuration.merge_validates_length_of_email_field_options unless: Proc.new { |user| user.email.blank? and user.authed? }
|
|
end
|
|
|
|
serialize :settings, UserPreference
|
|
|
|
validates :password, :presence => true,
|
|
:length => {
|
|
:maximum => 20,
|
|
:too_long => "is too long (maximum is %{count} characters)" },
|
|
:on => :create
|
|
validates :password, :allow_blank => true,
|
|
:length => {
|
|
:maximum => 20,
|
|
:too_long => "is too long (maximum is %{count} characters)"},
|
|
:on => :update
|
|
|
|
validates :joinedwithcode, :presence => true, :inclusion => { :in => User.all.map(&:code), :message => "%{value} is not a valid code" }, :on => :create
|
|
|
|
def settings
|
|
# make sure we always return a UserPreference instance
|
|
if read_attribute(:settings).nil?
|
|
write_attribute :settings, UserPreference.new
|
|
read_attribute :settings
|
|
else
|
|
read_attribute :settings
|
|
end
|
|
end
|
|
|
|
def settings=(val)
|
|
write_attribute :settings, val
|
|
end
|
|
end
|