Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enforce rubocop layout rules #495

Merged
merged 3 commits into from
May 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,9 @@ Style/RedundantFreeze:
Style/SymbolProc:
Enabled: true

Style/SymbolArray:
Enabled: false

# Use `foo {}` not `foo{}`.
Layout/SpaceBeforeBlockBraces:
Enabled: true
Expand Down Expand Up @@ -321,4 +324,18 @@ Performance/DeletePrefix:
Enabled: true

Performance/DeleteSuffix:
Enabled: true
Enabled: true

Metrics/ModuleLength:
Enabled: false

Metrics/ClassLength:
Enabled: false

Metrics/MethodLength:
Exclude:
- 'app/abilities/**/*'

Metrics/AbcSize:
Exclude:
- 'app/abilities/**/*'
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ group :development, :docker_development do
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem "spring"
gem "spring-watcher-listen", "~> 2.0.0"
gem "rubocop", "~> 0.93", require: false
gem "rubocop", "~> 1.50", require: false
gem "rubocop-packaging", require: false
gem "rubocop-performance", require: false
gem "rubocop-rails", require: false
Expand Down
2 changes: 1 addition & 1 deletion app/abilities/administration_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ def initialize(user)
user.admin?
end
end
end
end
4 changes: 2 additions & 2 deletions app/abilities/announcement_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def initialize(user)

can :create, Announcement do |announcement|
user.admin? ||
(announcement.lecture.present? && user.can_edit?(announcement.lecture))
(announcement.lecture.present? && user.can_edit?(announcement.lecture))
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/answer_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ def initialize(user)

can :update_answer_box, Answer
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/assignment_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ def initialize(user)
assignment.lecture.present? && user.can_edit?(assignment.lecture)
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/chapter_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ def initialize(user)
chapter.lecture.present? && user.can_edit?(chapter.lecture)
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/course_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ def initialize(user)
!user.generic? || course.subscribed_by?(user)
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/division_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ def initialize(user)
user.admin?
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/erdbeere_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ def initialize(user)
!user.generic?
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/interaction_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ def initialize(user)
user.admin?
end
end
end
end
4 changes: 2 additions & 2 deletions app/abilities/item_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ def initialize(user)

can [:create, :update, :edit, :destroy], Item do |item|
(item.medium.nil? && !user.generic?) ||
(item.medium && user.can_edit?(item.medium))
(item.medium && user.can_edit?(item.medium))
end

can :display, Item
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/lecture_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ def initialize(user)
lecture.published? || !user.generic?
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/lesson_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ def initialize(user)
user.can_edit?(lesson)
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/main_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ class MainAbility
def initialize(user)
can :start, :main
end
end
end
8 changes: 4 additions & 4 deletions app/abilities/medium_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ def initialize(user)
can [:index, :new, :search], Medium

can [:show, :show_comments], Medium do |medium|
medium.visible_for_user?(user) &&
!(medium.sort.in?(['Question', 'Remark']) && !user.can_edit?(medium))
medium.visible_for_user?(user) &&
!(medium.sort.in?(['Question', 'Remark']) && !user.can_edit?(medium))
end

can :inspect, Medium do |medium|
Expand Down Expand Up @@ -39,7 +39,7 @@ def initialize(user)
# guest users can play/display media when their release status 'all'
can [:play, :display, :geogebra], Medium do |medium|
(!user.new_record? && medium.visible_for_user?(user)) ||
medium.free?
medium.free?
end

can :update_tags, Medium do |medium|
Expand All @@ -50,4 +50,4 @@ def initialize(user)
!user.new_record?
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/notification_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ def initialize(user)
notification.recipient == user
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/profile_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ def initialize(user)
:toggle_thread_subscription, :subscribe_lecture, :unsubscribe_lecture,
:star_lecture, :unstar_lecture, :show_accordion, :request_data], :profile
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/program_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ def initialize(user)
user.admin?
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/question_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ def initialize(user)
user.can_edit?(question)
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/quiz_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ def initialize(user)
quiz && user.can_edit?(quiz.becomes(Medium))
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/quiz_certificate_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ def initialize(user)
user.tutor? || !user.generic?
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/referral_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ def initialize(user)
!user.generic? || user.media_editor?
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/remark_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ def initialize(user)
user.can_edit?(remark)
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/search_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ def initialize(user)

can :index, :search
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/section_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ def initialize(user)
user.can_edit?(section.lecture)
end
end
end
end
2 changes: 1 addition & 1 deletion app/abilities/subject_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ def initialize(user)
user.admin?
end
end
end
end
6 changes: 3 additions & 3 deletions app/abilities/submission_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ def initialize(user)
end

can [:show_manuscript, :show_correction], Submission do |submission|
user.in?(submission.users) || user.in?(submission.tutorial.tutors) ||
user.in?(submission.tutorial.lecture.editors) ||
user == submission.tutorial.lecture.teacher
user.in?(submission.users) || user.in?(submission.tutorial.tutors) ||
user.in?(submission.tutorial.lecture.editors) ||
user == submission.tutorial.lecture.teacher
end
end
end
1 change: 0 additions & 1 deletion app/abilities/tag_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,3 @@ def initialize(user)
end
end
end

2 changes: 1 addition & 1 deletion app/abilities/term_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ def initialize(user)
user.admin?
end
end
end
end
6 changes: 1 addition & 5 deletions app/abilities/tutorial_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,11 @@ def initialize(user)
can [:bulk_download_submissions, :bulk_download_corrections, :bulk_upload,
:export_teams], Tutorial do |tutorial|
user.in?(tutorial.tutors) ||
user.editor_or_teacher_in?(tutorial.lecture)
user.editor_or_teacher_in?(tutorial.lecture)
end

can :validate_certificate, Tutorial do
user.tutor? || !user.generic?
end
end
end




2 changes: 1 addition & 1 deletion app/abilities/watchlist_ability.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ def initialize(user)
entries.all? { |entry| entry&.in?(watchlist.watchlist_entries) }
end
end
end
end
79 changes: 40 additions & 39 deletions app/controllers/announcements_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -55,49 +55,50 @@ def expel

private

def announcement_params
params.require(:announcement).permit(:details, :lecture_id, :on_main_page)
end
def announcement_params
params.require(:announcement).permit(:details, :lecture_id, :on_main_page)
end

def create_notifications
users_to_notify = if @announcement.lecture.present?
@announcement.lecture.users
else
User
end
notifications = []
users_to_notify.update_all(updated_at: Time.now)
users_to_notify.find_each do |u|
notifications << Notification.new(recipient: u,
notifiable_id: @announcement.id,
notifiable_type: 'Announcement',
action: 'create')
def create_notifications
users_to_notify = if @announcement.lecture.present?
@announcement.lecture.users
else
User
end
notifications = []
users_to_notify.update_all(updated_at: Time.now)
users_to_notify.find_each do |u|
notifications << Notification.new(recipient: u,
notifiable_id: @announcement.id,
notifiable_type: 'Announcement',
action: 'create')
end
# use activerecord-import gem to use only one SQL instruction
Notification.import notifications
end
# use activerecord-import gem to use only one SQL instruction
Notification.import notifications
end

def send_notification_email
recipients = if @announcement.lecture.present?
@announcement.lecture.users
.where(email_for_announcement: true)
else
User.where(email_for_news: true)
end
I18n.available_locales.each do |l|
local_recipients = recipients.where(locale: l)
if local_recipients.any?
NotificationMailer.with(recipients: local_recipients.pluck(:id),
locale: l,
announcement: @announcement)
.announcement_email.deliver_later
def send_notification_email
recipients = if @announcement.lecture.present?
@announcement.lecture.users
.where(email_for_announcement: true)
else
User.where(email_for_news: true)
end
I18n.available_locales.each do |l|
local_recipients = recipients.where(locale: l)
if local_recipients.any?
NotificationMailer.with(recipients: local_recipients.pluck(:id),
locale: l,
announcement: @announcement)
.announcement_email.deliver_later
end
end
end
end

def set_announcement
@announcement = Announcement.find_by_id(params[:id])
return if @announcement.present?
redirect_to :root, alert: I18n.t('controllers.no_announcement')
end
def set_announcement
@announcement = Announcement.find_by_id(params[:id])
return if @announcement.present?

redirect_to :root, alert: I18n.t('controllers.no_announcement')
end
end
Loading