Sha256: 3e4c4c3b78821f763c5a9c34c3ff4fb26618c2c875d05a4654a791350855611a

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

#
# Blogaze
# Copyright (C) 2011-2013 Jack Polgar
#
# Blogaze is released under the BSD 3-clause license.
# @license http://opensource.org/licenses/BSD-3-Clause
#

module Blogaze
  module Models
    class User < Sequel::Model
      plugin :validation_helpers

      one_to_many :post
      many_to_one :group

      def validate
        super

        # Username
        validates_unique :username
        validates_min_length 4, :username, :message => 'must be at least 4 characters' if new?
        validates_presence :username, :message => 'can\'t be empty'

        # Password
        validates_presence :password, :message => 'cant be blank'
        validates_min_length 6, :password, :message => 'must be at least 6 characters'

        # Email
        validates_unique :email
        validates_format /(.*)@(.*)\.(.*)/, :email, :message => 'is not a valid email'
      end

      def before_create
        self.password = Digest::SHA1.hexdigest(self.password)
        self.group_id = 3
      end

      def before_save
      end
    end # User
  end # Models
end # Blogaze

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
blogaze-0.0.2 lib/blogaze/models/user.rb