Sha256: f81d8885506a2088828f80ec57736bb9ea8c412ca6c9ba8444a7800654f2bbf0

Contents?: true

Size: 1014 Bytes

Versions: 7

Compression:

Stored size: 1014 Bytes

Contents

class Wco::Profile
  include Mongoid::Document
  include Mongoid::Timestamps
  include Mongoid::Paranoia
  store_in collection: 'ish_user_profiles'

  field :email
  index({ email: 1 }, { name: 'email' })
  validates :email, presence: true, uniqueness: true

  field :per_page, type: :integer, default: 25
  field :show_n_thumbs, type: :integer, default: 8

  has_many :reports, class_name: 'Wco::Report'

  belongs_to :leadset,          class_name: 'Wco::Leadset', inverse_of: :profile,         optional: true
  has_many :newsitems, class_name: 'Wco::Newsitem'
  has_and_belongs_to_many :shared_galleries, class_name: 'Wco::Gallery', inverse_of: :shared_profiles

  ROLE_ADMIN = 'admin'
  ROLE_GUY   = 'guy'
  ROLES      = [ ROLE_ADMIN, ROLE_GUY ]
  field :role, type: :string, default: ROLE_GUY
  def self.roles_list
    [nil] + ROLES
  end

  def self.ai_writer
    find_or_create_by email: 'ai-writer@wasya.co'
  end

  def to_s
    email
  end
  def self.list
    all.map { |p| [ p.email, p.id ] }
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
wco_models-3.1.0.165 app/models/wco/profile.rb
wco_models-3.1.0.164 app/models/wco/profile.rb
wco_models-3.1.0.163 app/models/wco/profile.rb
wco_models-3.1.0.162 app/models/wco/profile.rb
wco_models-3.1.0.161 app/models/wco/profile.rb
wco_models-3.1.0.155 app/models/wco/profile.rb
wco_models-3.1.0.154 app/models/wco/profile.rb