Fix Rubocop issues

This commit is contained in:
CactusPuppy 2021-02-18 21:03:28 -08:00
parent f67c4aafe0
commit 21e282679f
No known key found for this signature in database
GPG key ID: 4B33B0A3E15E2C82
17 changed files with 50 additions and 33 deletions

View file

@ -25,7 +25,7 @@ class ApplicationController < ActionController::Base
!request.xhr?) # don't store ajax calls !request.xhr?) # don't store ajax calls
session[:return_to] = request.fullpath session[:return_to] = request.fullpath
end end
end end
def after_sign_in_path_for(_resource) def after_sign_in_path_for(_resource)
if (can? :view, Conference) && if (can? :view, Conference) &&

View file

@ -31,7 +31,9 @@ class UsersController < ApplicationController
end end
# Somewhat of a hack: users/current/edit # Somewhat of a hack: users/current/edit
# rubocop:disable Naming/MemoizedInstanceVariableName
def load_user def load_user
@user ||= (params[:id] && params[:id] != 'current' && User.find(params[:id]) || current_user) @user ||= (params[:id] && params[:id] != 'current' && User.find(params[:id]) || current_user)
end end
# rubocop:enable Naming/MemoizedInstanceVariableName
end end

View file

@ -112,7 +112,7 @@ module ApplicationHelper
concurrent_events << other_event_schedule.event concurrent_events << other_event_schedule.event
end end
end end
concurrent_events.sort_by { |event_schedule| event_schedule.room&.order } concurrent_events.sort_by { |schedule| schedule.room&.order }
end end
def speaker_links(event) def speaker_links(event)

View file

@ -1,5 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
# TODO: Split this module into smaller modules
# rubocop:disable Metrics/ModuleLength
module EventsHelper module EventsHelper
## ##
# Includes functions related to events # Includes functions related to events
@ -193,7 +195,7 @@ module EventsHelper
end end
end end
def calendar_timestamp(timestamp, timezone) def calendar_timestamp(timestamp, _timezone)
timestamp = timestamp.in_time_zone('GMT') timestamp = timestamp.in_time_zone('GMT')
timestamp -= timestamp.utc_offset timestamp -= timestamp.utc_offset
timestamp.strftime('%Y%m%dT%H%M%S') timestamp.strftime('%Y%m%dT%H%M%S')
@ -221,7 +223,7 @@ module EventsHelper
def calendar_event_text(event, event_schedule, conference) def calendar_event_text(event, event_schedule, conference)
<<~TEXT <<~TEXT
#{conference.title} - #{event.title} #{conference.title} - #{event.title}
#{event_schedule.start_time.strftime("%Y %B %e - %H:%M")} #{event_schedule.timezone} #{event_schedule.start_time.strftime('%Y %B %e - %H:%M')} #{event_schedule.timezone}
More Info: #{conference_program_proposal_url(conference, event)} More Info: #{conference_program_proposal_url(conference, event)}
Join: #{event.url} Join: #{event.url}
@ -256,3 +258,4 @@ module EventsHelper
end end
end end
end end
# rubocop:enable Metrics/ModuleLength

View file

@ -68,6 +68,8 @@ class Ability
end end
# Abilities for signed in users # Abilities for signed in users
# TODO: Refactor into multiple functions
# rubocop:disable Metrics/AbcSize
def signed_in(user) def signed_in(user)
# Abilities from not_signed_in user are also inherited # Abilities from not_signed_in user are also inherited
not_signed_in not_signed_in
@ -140,6 +142,7 @@ class Ability
user == track.submitter && !(track.accepted? || track.confirmed?) user == track.submitter && !(track.accepted? || track.confirmed?)
end end
end end
# rubocop:enable Metrics/AbcSize
# Abilities for users with roles wandering around in non-admin views. # Abilities for users with roles wandering around in non-admin views.
def common_abilities_for_admins(user) def common_abilities_for_admins(user)

View file

@ -30,7 +30,7 @@ class Commercial < ApplicationRecord
begin begin
resource = OEmbed::Providers.get(url, maxwidth: 560, maxheight: 315) resource = OEmbed::Providers.get(url, maxwidth: 560, maxheight: 315)
{ html: resource.html.html_safe } { html: resource.html.html_safe }
rescue StandardError => exception rescue StandardError
{ html: iframe_fallback(url) } { html: iframe_fallback(url) }
# { error: exception.message } # { error: exception.message }
end end

View file

@ -35,6 +35,7 @@
# #
# index_conferences_on_organization_id (organization_id) # index_conferences_on_organization_id (organization_id)
# #
# rubocop:disable Metrics/ClassLength
class Conference < ApplicationRecord class Conference < ApplicationRecord
include RevisionCount include RevisionCount
require 'uri' require 'uri'
@ -1234,3 +1235,4 @@ class Conference < ApplicationRecord
] ]
end end
end end
# rubocop:enable Metrics/ClassLength

View file

@ -305,7 +305,7 @@ class User < ApplicationRecord
# TODO: Use a real authorization in the right place.... # TODO: Use a real authorization in the right place....
def manages_volunteers?(conference) def manages_volunteers?(conference)
organizer_roles = get_roles['organizer'] organizer_roles = get_roles['organizer']
organizer_roles&.include?(conference.short_title) # TODO or Volunteer Coorinator. organizer_roles&.include?(conference.short_title) # TODO: or Volunteer Coorinator.
end end
def registered def registered

View file

@ -68,9 +68,11 @@ module Osem
config.before_configuration do config.before_configuration do
env_file = File.join(Rails.root, 'config', 'local_env.yml') env_file = File.join(Rails.root, 'config', 'local_env.yml')
YAML.load(File.open(env_file)).each do |key, value| if File.exist?(env_file)
ENV[key.to_s] = value YAML.safe_load(File.open(env_file)).each do |key, value|
end if File.exists?(env_file) ENV[key.to_s] = value
end
end
end end
end end
end end

View file

@ -46,9 +46,9 @@ end
lowlevel_error_handler do |ex, env| lowlevel_error_handler do |ex, env|
Sentry.capture_exception( Sentry.capture_exception(
ex, ex,
:message => ex.message, message: ex.message,
:extra => { :puma => env }, extra: { puma: env },
:transaction => "Puma" transaction: "Puma"
) )
# note the below is just a Rack response # note the below is just a Rack response
[500, {}, ["An error has occurred, and engineers have been informed. Please reload the page. If you continue to have problems, contact conference@snap.berkeley.edu\n"]] [500, {}, ["An error has occurred, and engineers have been informed. Please reload the page. If you continue to have problems, contact conference@snap.berkeley.edu\n"]]

View file

@ -1,6 +1,6 @@
Osem::Application.routes.draw do Osem::Application.routes.draw do
mount LetterOpenerWeb::Engine, at: "/letter_opener" if Rails.env.development? mount LetterOpenerWeb::Engine, at: '/letter_opener' if Rails.env.development?
if ENV['OSEM_ICHAIN_ENABLED'] == 'true' if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
devise_for :users, controllers: { registrations: :registrations } devise_for :users, controllers: { registrations: :registrations }

View file

@ -2,7 +2,7 @@ class AddVisibleToTickets < ActiveRecord::Migration[5.0]
def up def up
add_column :tickets, :visible, :boolean, default: true add_column :tickets, :visible, :boolean, default: true
Ticket.reset_column_information Ticket.reset_column_information
Ticket.update_all(visible: true) # rubocop:disable Rails/SkipsModelValidations Ticket.update_all(visible: true)
end end
def down def down

View file

@ -13,24 +13,24 @@ namespace :db do
end end
end end
desc "Import a given file into the database" desc 'Import a given file into the database'
task :import, [:path] => :environment do |_t, args| task :import, [:path] => :environment do |_t, args|
dump_path = args.path dump_path = args.path
connection_config = ActiveRecord::Base.connection_config connection_config = ActiveRecord::Base.connection_config
case connection_config[:adapter] case connection_config[:adapter]
when "postgresql" when 'postgresql'
system("PGPASSWORD=#{connection_config[:password]} pg_restore " \ system("PGPASSWORD=#{connection_config[:password]} pg_restore " \
"--verbose --clean --no-acl --no-owner " \ '--verbose --clean --no-acl --no-owner ' \
"--username=#{connection_config[:username]} " \ "--username=#{connection_config[:username]} " \
"-d #{connection_config[:database]} #{dump_path}") "-d #{connection_config[:database]} #{dump_path}")
when "mysql", "mysql2" when 'mysql', 'mysql2'
system("mysql -u #{connection_config[:username]} " \ system("mysql -u #{connection_config[:username]} " \
"-p#{connection_config[:password]} " \ "-p#{connection_config[:password]} " \
"#{connection_config[:database]} < #{dump_path}") "#{connection_config[:database]} < #{dump_path}")
else else
raise NotImplementedError, "An importer hasn't been implemented for: " \ raise NotImplementedError.new("An importer hasn't been implemented for: " \
"#{connection_config[:adapter]}" "#{connection_config[:adapter]}")
end end
end end
end end

View file

@ -1,17 +1,17 @@
# frozen_string_literal: true # frozen_string_literal: true
namespace :registrations do namespace :registrations do
desc "Create missing registrations for those how have a registration ticket." desc 'Create missing registrations for those how have a registration ticket.'
task :create_missing, [:conference] => :environment do |t, args| task :create_missing, [:conference] => :environment do |_t, args|
fail 'Please supply a conference short name.' unless args.conference raise 'Please supply a conference short name.' unless args.conference
conf = Conference.find_by(short_title: args.conference) conf = Conference.find_by(short_title: args.conference)
# Check if a user is found based on the supplied email address # Check if a user is found based on the supplied email address
fail "Coud not find conference #{args.conference}" unless conf raise "Coud not find conference #{args.conference}" unless conf
purchases = conf.ticket_purchases.where(ticket: conf.registration_tickets, paid: true) purchases = conf.ticket_purchases.where(ticket: conf.registration_tickets, paid: true)
unregistered = purchases.select { |tp| !conf.user_registered?(tp.user) } unregistered = purchases.reject { |tp| conf.user_registered?(tp.user) }
puts "Found #{unregistered.count} unregistered users for #{purchases.count} ticket purchases." puts "Found #{unregistered.count} unregistered users for #{purchases.count} ticket purchases."
puts "There are currently #{conf.participants.count} registered users." puts "There are currently #{conf.participants.count} registered users."
@ -19,17 +19,17 @@ namespace :registrations do
puts "Creating registration for #{tp.user.email}" puts "Creating registration for #{tp.user.email}"
Registration.create(user: tp.user, conference: conf) Registration.create(user: tp.user, conference: conf)
end end
puts "Done." puts 'Done.'
end end
desc "Show User emails who have not paid, but did register" desc 'Show User emails who have not paid, but did register'
task :list_unpaid, [:conference] => :environment do |t, args| task :list_unpaid, [:conference] => :environment do |_t, args|
fail 'Please supply a conference short name.' unless args.conference raise 'Please supply a conference short name.' unless args.conference
conf = Conference.find_by(short_title: args.conference) conf = Conference.find_by(short_title: args.conference)
# Check if a user is found based on the supplied email address # Check if a user is found based on the supplied email address
fail "Coud not find conference #{args.conference}" unless conf raise "Coud not find conference #{args.conference}" unless conf
registered = conf.participants registered = conf.participants
unpaid = registered.select do |user| unpaid = registered.select do |user|
@ -41,6 +41,6 @@ namespace :registrations do
unpaid.each do |user| unpaid.each do |user|
puts "'#{user.name}'<#{user.email}>, " puts "'#{user.name}'<#{user.email}>, "
end end
puts "" puts ''
end end
end end

View file

@ -69,7 +69,7 @@ feature Commercial do
scenario 'does not add an invalid commercial of an event', feature: true, js: true do scenario 'does not add an invalid commercial of an event', feature: true, js: true do
# TODO-SNAPCON # TODO-SNAPCON
skip("Snap!Con allows all materials to be saved.") skip('Snap!Con allows all materials to be saved.')
visit edit_conference_program_proposal_path(conference.short_title, event.id) visit edit_conference_program_proposal_path(conference.short_title, event.id)
click_link 'Materials' click_link 'Materials'
fill_in 'commercial_url', with: 'invalid_commercial_url' fill_in 'commercial_url', with: 'invalid_commercial_url'

View file

@ -35,6 +35,6 @@ def mock_commercial_request
end end
def mock_image_request def mock_image_request
WebMock.stub_request(:post, "https://api.cloudinary.com/v1_1/snapcon/image/destroy") WebMock.stub_request(:post, 'https://api.cloudinary.com/v1_1/snapcon/image/destroy')
.to_return(status: 200, body: {}.to_json, headers: {}) .to_return(status: 200, body: {}.to_json, headers: {})
end end

View file

@ -88,6 +88,10 @@ module OmniauthMacros
# account is available for every supported omniauth provider. # account is available for every supported omniauth provider.
# These must be identical to the ones in /config/environments/development.rb # These must be identical to the ones in /config/environments/development.rb
# Remember to keep them in sync with development.rb # Remember to keep them in sync with development.rb
#
# Note that the method length check is disabled to allow for better formatting
# of the user params.
# rubocop:disable Metrics/MethodLength
def mock_auth_accounts def mock_auth_accounts
OmniAuth.config.mock_auth[:facebook] = OmniAuth.config.mock_auth[:facebook] =
OmniAuth::AuthHash.new( OmniAuth::AuthHash.new(
@ -164,4 +168,5 @@ module OmniauthMacros
} }
) )
end end
# rubocop:enable Metrics/MethodLength
end end