aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/snippet.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/snippet.rb')
-rw-r--r--app/models/snippet.rb14
1 files changed, 12 insertions, 2 deletions
diff --git a/app/models/snippet.rb b/app/models/snippet.rb
index 5412492..a55b732 100644
--- a/app/models/snippet.rb
+++ b/app/models/snippet.rb
@@ -1,4 +1,14 @@
class Snippet < ApplicationRecord
- has_many :result
- has_many :compiler
+ has_many :results
+
+ validates :code, length: { maximum: 65535, tokenizer: :bytes.to_proc }
+
+ def compilers
+ Compiler.where(language: language)
+ end
+
+ def results_all
+ r = results.map { |r| [r.compiler_id, r] }.to_h
+ compilers.map { |c| [r[c.id], c] }
+ end
end