Sha256: de30988233e29875e281fb083f6ba1b6e9ddcc322f7d4645e7830bacdaa474c2

Contents?: true

Size: 793 Bytes

Versions: 8

Compression:

Stored size: 793 Bytes

Contents

# frozen_string_literal: true

class Player
  include Mongoid::Document
  field :active, type: Mongoid::Boolean
  field :frags, type: Integer
  field :deaths, type: Integer
  field :impressions, type: Integer, default: 0
  field :status

  scope :active, ->{ where(active: true) } do
    def extension
      "extension"
    end
  end

  scope :inactive, ->{ where(active: false) }
  scope :frags_over, ->(count) { where(:frags.gt => count) }
  scope :deaths_under, ->(count) { where(:deaths.lt => count) }
  scope :deaths_over, ->(count) { where(:deaths.gt => count) }

  has_many :weapons
  has_one :powerup

  embeds_many :implants
  embeds_one :augmentation

  after_find do |doc|
    doc.impressions += 1
  end

  class << self
    def alive
      where(status: "Alive")
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mongoid-7.5.4 spec/support/models/player.rb
mongoid-7.5.3 spec/support/models/player.rb
mongoid-7.5.2 spec/support/models/player.rb
mongoid-7.5.1 spec/support/models/player.rb
mongoid-7.4.3 spec/support/models/player.rb
mongoid-7.5.0 spec/support/models/player.rb
mongoid-7.4.1 spec/support/models/player.rb
mongoid-7.4.0 spec/support/models/player.rb