From 006a1a5b399cd78b97b737fe892d02394e9cc1c9 Mon Sep 17 00:00:00 2001 From: Adrian Hinz Date: Thu, 16 May 2019 09:36:16 +0200 Subject: [PATCH] Models rubocop and clleanup --- app/models/application_record.rb | 3 +++ app/models/course.rb | 19 ++++++++++++++++++- app/models/course_landing_page.rb | 3 +++ app/models/email_account.rb | 3 +++ app/models/lead_email.rb | 3 +++ app/models/lesson.rb | 31 ++++++++++++++++++++++++++++++- app/models/user.rb | 21 ++++++++++++++++++++- app/models/user_activity.rb | 3 +++ app/models/user_add.rb | 3 +++ app/models/video.rb | 3 +++ app/models/video_account.rb | 3 +++ app/models/week.rb | 19 +++++++++++++++++-- 12 files changed, 109 insertions(+), 5 deletions(-) diff --git a/app/models/application_record.rb b/app/models/application_record.rb index 10a4cba..2568052 100644 --- a/app/models/application_record.rb +++ b/app/models/application_record.rb @@ -1,3 +1,6 @@ +# frozen_string_literal: true + +# Application Record class ApplicationRecord < ActiveRecord::Base self.abstract_class = true end diff --git a/app/models/course.rb b/app/models/course.rb index 0c1e790..9aeb2dc 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -1,8 +1,25 @@ # frozen_string_literal: true +# Course class Course < ApplicationRecord + # == Constants ============================================================ + + # == Attributes =========================================================== + + # == Extensions =========================================================== + + # == Relationships ======================================================== has_many :weeks, dependent: :destroy + + # == Validations ========================================================== validates :name, presence: true - scope :name_asc, -> { order('name ASC') } + # == Scopes =============================================================== + scope :name_asc, -> { order(:name) } + + # == Callbacks ============================================================ + + # == Class Methods ======================================================== + + # == Instance Methods ===================================================== end diff --git a/app/models/course_landing_page.rb b/app/models/course_landing_page.rb index 63dec2a..84b16b4 100644 --- a/app/models/course_landing_page.rb +++ b/app/models/course_landing_page.rb @@ -1,3 +1,6 @@ +# frozen_string_literal: true + +# Landing Course Page class CourseLandingPage < ApplicationRecord belongs_to :course end diff --git a/app/models/email_account.rb b/app/models/email_account.rb index 6bc1fa0..e458783 100644 --- a/app/models/email_account.rb +++ b/app/models/email_account.rb @@ -1,3 +1,6 @@ +# frozen_string_literal: true + +# Email SMTP Account Configurations class EmailAccount < ApplicationRecord enum authentication: %i[plain login cram_md5] end diff --git a/app/models/lead_email.rb b/app/models/lead_email.rb index 46e24d8..7592cbd 100644 --- a/app/models/lead_email.rb +++ b/app/models/lead_email.rb @@ -1,2 +1,5 @@ +# frozen_string_literal: true + +# LeadEmail class LeadEmail < ApplicationRecord end diff --git a/app/models/lesson.rb b/app/models/lesson.rb index 479023a..277cafd 100644 --- a/app/models/lesson.rb +++ b/app/models/lesson.rb @@ -1,5 +1,34 @@ +# frozen_string_literal: true + +# Lessons class Lesson < ApplicationRecord + # == Constants ============================================================ + + # == Attributes =========================================================== + + # == Extensions =========================================================== + + # == Relationships ======================================================== belongs_to :course belongs_to :week - belongs_to :video + belongs_to :video, optional: true + + # == Validations ========================================================== + validates :name, presence: true + + # == Scopes =============================================================== + scope :by_course, ->(c_id) { where(course_id: c_id) } + scope :by_week, ->(w_id) { where(week_id: w_id) } + scope :name_asc, -> { order(:name) } + scope :name_desc, -> { order(name: :desc) } + + # == Callbacks ============================================================ + before_create :b_create + + # == Class Methods ======================================================== + + # == Instance Methods ===================================================== + def b_create + self.course = week.course + end end diff --git a/app/models/user.rb b/app/models/user.rb index 45aa18a..6fe1681 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,9 +1,28 @@ +# frozen_string_literal: true + +# User class User < ApplicationRecord - validates :email, uniqueness: true + # == Constants ============================================================ + + # == Attributes =========================================================== + + # == Extensions =========================================================== # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable, # :registerable devise :database_authenticatable, :confirmable, :trackable, :timeoutable, :recoverable, :rememberable, :validatable, :lockable, :registerable + # == Relationships ======================================================== + + # == Validations ========================================================== + validates :email, uniqueness: true + + # == Scopes =============================================================== + scope :email_asc, -> { order(email) } + # == Callbacks ============================================================ + + # == Class Methods ======================================================== + + # == Instance Methods ===================================================== end diff --git a/app/models/user_activity.rb b/app/models/user_activity.rb index c36ed1e..947b1a3 100644 --- a/app/models/user_activity.rb +++ b/app/models/user_activity.rb @@ -1,3 +1,6 @@ +# frozen_string_literal: true + +# User Activity class UserActivity < ApplicationRecord belongs_to :user end diff --git a/app/models/user_add.rb b/app/models/user_add.rb index 9acc81a..8880379 100644 --- a/app/models/user_add.rb +++ b/app/models/user_add.rb @@ -1,3 +1,6 @@ +# frozen_string_literal: true + +# User Additional Data class UserAdd < ApplicationRecord belongs_to :user end diff --git a/app/models/video.rb b/app/models/video.rb index 41a00ae..9c0f0a3 100644 --- a/app/models/video.rb +++ b/app/models/video.rb @@ -1,3 +1,6 @@ +# frozen_string_literal: true + +# Class for video links class Video < ApplicationRecord belongs_to :video_account end diff --git a/app/models/video_account.rb b/app/models/video_account.rb index c252ba9..d9534b2 100644 --- a/app/models/video_account.rb +++ b/app/models/video_account.rb @@ -1,3 +1,6 @@ +# frozen_string_literal: true + +# Video Accunt Settings class VideoAccount < ApplicationRecord belongs_to :account, polymorphic: true end diff --git a/app/models/week.rb b/app/models/week.rb index 34df9ec..83b98e1 100644 --- a/app/models/week.rb +++ b/app/models/week.rb @@ -2,11 +2,26 @@ # Weeks class Week < ApplicationRecord + # == Constants ============================================================ + + # == Attributes =========================================================== + + # == Extensions =========================================================== + + # == Relationships ======================================================== belongs_to :course + # == Validations ========================================================== validates :name, presence: true + # == Scopes =============================================================== scope :by_course, ->(c_id) { where(course_id: c_id) } - scope :name_asc, -> { order('name ASC') } - scope :name_desc, -> { order('name DESC') } + scope :name_asc, -> { order(name) } + scope :name_desc, -> { order(name: :desc) } + + # == Callbacks ============================================================ + + # == Class Methods ======================================================== + + # == Instance Methods ===================================================== end