gitlab-org--gitlab-foss/app/models/project_snippet.rb

29 lines
826 B
Ruby
Raw Normal View History

# == Schema Information
#
# Table name: snippets
#
# id :integer not null, primary key
# title :string(255)
2013-08-21 05:34:02 -04:00
# content :text(2147483647)
# author_id :integer not null
2013-06-19 08:40:33 -04:00
# project_id :integer
2013-08-21 05:34:02 -04:00
# created_at :datetime not null
# updated_at :datetime not null
# file_name :string(255)
# expires_at :datetime
2013-06-19 08:40:33 -04:00
# private :boolean default(TRUE), not null
# type :string(255)
2013-06-19 08:40:33 -04:00
#
class ProjectSnippet < Snippet
belongs_to :project
belongs_to :author, class_name: "User"
validates :project, presence: true
# Scopes
scope :fresh, -> { order("created_at DESC") }
scope :non_expired, -> { where(["expires_at IS NULL OR expires_at > ?", Time.current]) }
scope :expired, -> { where(["expires_at IS NOT NULL AND expires_at < ?", Time.current]) }
end