Sha256: 96658bea54f47274c2bc60da48d6383a48063de08afd661915c508dca2f76fdc

Contents?: true

Size: 1.17 KB

Versions: 22

Compression:

Stored size: 1.17 KB

Contents

require_dependency "renalware/hd"

module Renalware
  module HD
    class WeeklyDiary < Diary
      # Overwrite the existing master attribute to ensure it defaults to false
      attribute :master, :boolean, default: false
      belongs_to :master_diary, class_name: "Renalware::HD::MasterDiary"
      validates :week_number,
                presence: true,
                uniqueness: { scope: [:year, :hospital_unit_id] },
                inclusion: { in: 1..53 }
      validates :year, presence: true
      validates :master, inclusion: { in: [false], allow_nil: false }
      validates :master_diary, presence: true
      delegate :to_s, to: :week
      scope :ordered, ->{ order(year: :desc, week_number: :desc) }

      def applies_to_current_week?
        today = Time.zone.today
        [today.cweek, today.year] == [week.week_number, week.year]
      end

      def archived?
        false
      end

      class WeeklySlotDecorator < SimpleDelegator
        def master?
          false
        end
      end

      def decorate_slot(slot)
        WeeklySlotDecorator.new(slot)
      end

      def slot_for(*args)
        (slot = super) && decorate_slot(slot)
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
renalware-core-2.0.8 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.7 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.5 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.4 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.3 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.2 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.1 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.rc13 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.rc11 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.rc10 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.rc9 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.rc8 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.rc7 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.rc6 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.rc5 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.rc4 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.rc3 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.rc1 app/models/renalware/hd/weekly_diary.rb
renalware-core-2.0.0.pre.beta12 app/models/renalware/hd/weekly_diary.rb