Sha256: 634229dbf21a25fc75b45e9cc50a4bdcdaf41828604398c5b921fe77c9d760eb

Contents?: true

Size: 783 Bytes

Versions: 5

Compression:

Stored size: 783 Bytes

Contents

module Oxen
  class Account
    include Mongoid::Document
    include Mongoid::Timestamps
    include ::Plug::Mixin
    array_attr :tags
    attr_accessor :password
    field :login, type: String
    field :tags, type: Array
    field :hashed_password, type: String
    field :avatar, type: Hash
    field :settings, type: Hash

    default_scope -> {where(:login.ne => "root")}

    attr_readonly :login

    validates :login, :password, presence: true
    validates :login, uniqueness: true
    validates :password, confirmation: true
    validates :password, length: { minimum: 6 , message: "密码太短"}
    before_save :hashit

    after_destroy :remove_avatar

    private

    def hashit
      self.hashed_password = Digest::SHA2.hexdigest(self.password)
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
oxen-0.0.9 app/models/oxen/account.rb
oxen-0.0.7 app/models/oxen/account.rb
oxen-0.0.6 app/models/oxen/account.rb
oxen-0.0.5 app/models/oxen/account.rb
oxen-0.0.4 app/models/oxen/account.rb