Sha256: c9cc2748c586e38550dd2b16ab7286ad0fdc2a1a11f2adcb47b44530f056e8c8

Contents?: true

Size: 633 Bytes

Versions: 27

Compression:

Stored size: 633 Bytes

Contents

# frozen_string_literal: true
# encoding: utf-8

class Event
  include Mongoid::Document

  field :title
  field :date, type: Date
  has_and_belongs_to_many \
    :administrators,
    class_name: 'Person',
    inverse_of: :administrated_events,
    dependent: :nullify
  belongs_to :owner

  def self.each_day(start_date, end_date)
    groups = only(:date).asc(:date).where(:date.gte => start_date, :date.lte => end_date).group
    groups.each do |hash|
      yield(hash["date"], hash["group"])
    end
  end

  scope :best, ->{ where(:kind.in => [ "party", "concert" ]) }
  scope :by_kind, ->(kind){ where(:kind.in => [kind]) }
end

Version data entries

27 entries across 27 versions & 2 rubygems

Version Path
mongoid-7.3.5 spec/support/models/event.rb
mongoid-7.3.4 spec/support/models/event.rb
mongoid-7.1.11 spec/app/models/event.rb
mongoid-7.2.6 spec/support/models/event.rb
mongoid-7.3.3 spec/support/models/event.rb
mongoid-7.3.2 spec/support/models/event.rb
mongoid-7.2.5 spec/support/models/event.rb
mongoid-7.1.10 spec/app/models/event.rb
mongoid-7.1.9 spec/app/models/event.rb
mongoid-7.2.4 spec/support/models/event.rb
mongoid-7.3.1 spec/support/models/event.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/mongoid-7.1.7/spec/app/models/event.rb
mongoid-7.3.0 spec/support/models/event.rb
mongoid-7.2.3 spec/support/models/event.rb
mongoid-7.1.8 spec/app/models/event.rb
mongoid-7.2.2 spec/support/models/event.rb
mongoid-7.2.1 spec/support/models/event.rb
mongoid-7.1.7 spec/app/models/event.rb
mongoid-7.2.0 spec/support/models/event.rb
mongoid-7.1.6 spec/app/models/event.rb