Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew8xx8 <avk@8xx8.ru>2013-03-24 19:26:49 +0400
committerAndrew8xx8 <avk@8xx8.ru>2013-03-24 19:26:49 +0400
commitbc7c5f87bbd5cc25a0aaf03e9e5ecf6a65375098 (patch)
treeb88052b6ad67a099a97d8745e9c455157f0956a9 /app/models/project_snippet.rb
parent7d2fbe6bd880b001857a373500e4fae31d43060a (diff)
Project snippet moved to separate model
Diffstat (limited to 'app/models/project_snippet.rb')
-rw-r--r--app/models/project_snippet.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/app/models/project_snippet.rb b/app/models/project_snippet.rb
new file mode 100644
index 00000000000..a86f2e7a32f
--- /dev/null
+++ b/app/models/project_snippet.rb
@@ -0,0 +1,27 @@
+# == Schema Information
+#
+# Table name: snippets
+#
+# id :integer not null, primary key
+# title :string(255)
+# content :text
+# author_id :integer not null
+# project_id :integer not null
+# created_at :datetime not null
+# updated_at :datetime not null
+# file_name :string(255)
+# expires_at :datetime
+# type :string(255)
+# private :boolean
+
+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