metamaps--metamaps/app/models/user.rb

47 lines
1.4 KiB
Ruby
Raw Normal View History

2012-09-23 02:39:12 +00:00
require 'open-uri'
class User < ActiveRecord::Base
has_many :topics
2012-10-18 00:51:54 +00:00
has_many :synapses
has_many :maps
has_many :mappings
2012-09-23 02:39:12 +00:00
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? }
2012-09-23 02:39:12 +00:00
end
serialize :settings, UserPreference
2012-09-23 02:39:12 +00:00
validates :password, :presence => true,
:length => {
:maximum => 20,
:too_long => "is too long (maximum is %{count} characters)" },
2012-09-23 02:39:12 +00:00
:on => :create
validates :password, :allow_blank => true,
:length => {
:maximum => 20,
:too_long => "is too long (maximum is %{count} characters)"},
2012-09-23 02:39:12 +00:00
: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
2012-09-23 02:39:12 +00:00
end