Sha256: 980db69808b33183926f7e94ccdc2adb4f59b5d6c1410525880ee5017601abdc

Contents?: true

Size: 594 Bytes

Versions: 10

Compression:

Stored size: 594 Bytes

Contents

module Gaku
  class ClassGroup < ActiveRecord::Base

    include Notes, Pagination, Enrollmentable, Semesterable, StudentReviewable

    validates :name, presence: true

    def self.for_select
      %w(active upcomming).map do |state|
        [state.humanize, send(state).map { |cg| [cg.to_s, cg.id] }]
      end
    end

    def self.active
      @active = joins(:semesters).merge(Gaku::Semester.active).uniq
    end

    def self.upcomming
      @upcomming = joins(:semesters).merge(Gaku::Semester.upcomming).uniq - active
    end

    def to_s
      "#{grade} - #{name}"
    end

  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
gaku-0.2.4 core/app/models/gaku/class_group.rb
gaku_core-0.2.4 app/models/gaku/class_group.rb
gaku-0.2.3 core/app/models/gaku/class_group.rb
gaku_core-0.2.3 app/models/gaku/class_group.rb
gaku-0.2.2 core/app/models/gaku/class_group.rb
gaku_core-0.2.2 app/models/gaku/class_group.rb
gaku-0.2.1 core/app/models/gaku/class_group.rb
gaku_core-0.2.1 app/models/gaku/class_group.rb
gaku-0.2.0 core/app/models/gaku/class_group.rb
gaku_core-0.2.0 app/models/gaku/class_group.rb