Sha256: 5c4f0431b2cdac1b8739016adeec5deb084ebcb64d927c3a182903237e3b91e4

Contents?: true

Size: 775 Bytes

Versions: 3

Compression:

Stored size: 775 Bytes

Contents

class Admin
  include Mongoid::Document
  include MongoSearch::Searchable

  field :name
  field :super_user, type: Boolean, :default => false

  text_search_in :name, :email

  validates_uniqueness_of :email, case_sensitive: false, scope: :site_id

  validates_presence_of :email
  attr_accessible :email, :password, :password_confirmation, :name

  devise :database_authenticatable, :recoverable, :rememberable,
    :trackable, :validatable, :omniauthable

  def self.find_for_domain(domain)
    where(email: /@#{domain}$/).first
  end

  def super?
    self.super_user == true
  end

  def as_json(options)
    super(options).tap do |json|
      if current_admin = options[:current_admin]
        json[:current_admin] = current_admin.id == id
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
slices-1.0.2 app/models/admin.rb
slices-1.0.1 app/models/admin.rb
slices-1.0.0 app/models/admin.rb