Skip to content

Commit

Permalink
22|24 Remaining Rubocop adjustments
Browse files Browse the repository at this point in the history
  • Loading branch information
cpreisinger committed Aug 5, 2024
1 parent 2b8dff4 commit 9ac3061
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 22 deletions.
4 changes: 2 additions & 2 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ Rails.application.load_tasks

namespace :cf do
desc "Only run on the first application instance"
task :on_first_instance do
task on_first_instance: :environment do
instance_index = begin
JSON.parse(ENV.fetch("VCAP_APPLICATION", nil))["instance_index"]
rescue
nil
end
exit(0) unless instance_index == 0
exit(0) unless instance_index.zero?
end
end
2 changes: 1 addition & 1 deletion app/controllers/application_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ def sign_out
def redirect_if_logged_in(path = "/dashboard")
return unless logged_in?

redirect_to path, notice: "You are already logged in."
redirect_to path, notice: I18n.t("already_logged_in_notice")
end
end
35 changes: 21 additions & 14 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -91,30 +91,37 @@ def self.user_from_userinfo(userinfo)
email = userinfo[0]["email"]
token = userinfo[0]["sub"]

if user = find_by(token:)
if (user = find_by(token:))
user
elsif user = find_by(email:)
elsif (user = find_by(email:))
update_admin_added_user(user, userinfo)
else
default_role_and_status = default_role_and_status_for_email(email)
default_role = default_role_and_status[0]
default_status = default_role_and_status[1]

user = create({
email:,
role: default_role,
token:,
terms_of_use: nil,
privacy_guidelines: nil,
status: default_status
})
create_user_from_userinfo(userinfo)
end
end

def self.update_admin_added_user(user, userinfo)
update(user.id, { token: userinfo[0]["sub"] })
end

def self.create_user_from_userinfo(userinfo)
email = userinfo[0]["email"]
token = userinfo[0]["sub"]

default_role_and_status = default_role_and_status_for_email(email)
default_role = default_role_and_status[0]
default_status = default_role_and_status[1]

create({
email:,
role: default_role,
token:,
terms_of_use: nil,
privacy_guidelines: nil,
status: default_status
})
end

def self.default_role_and_status_for_email(email)
if default_challenge_manager?(email)
%w[challenge_manager pending]
Expand Down
1 change: 1 addition & 0 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ en:
hello: "Hello world"
please_try_again: "Please try again."
login_error: "There was an issue with logging in. Please try again."
already_logged_in_notice: "You are already logged in."
10 changes: 5 additions & 5 deletions spec/models/user_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@

user = described_class.create!(email:, token:)

found_user = User.user_from_userinfo(gov_userinfo)
found_user = described_class.user_from_userinfo(gov_userinfo)

expect(user).to eq(found_user)
end
Expand All @@ -80,7 +80,7 @@
email = gov_userinfo[0]["email"]
token = gov_userinfo[0]["sub"]

created_user = User.user_from_userinfo(gov_userinfo)
created_user = described_class.user_from_userinfo(gov_userinfo)

expect(created_user.email).to eq(email)
expect(created_user.token).to eq(token)
Expand All @@ -92,7 +92,7 @@
email = non_gov_userinfo[0]["email"]
token = non_gov_userinfo[0]["sub"]

created_user = User.user_from_userinfo(non_gov_userinfo)
created_user = described_class.user_from_userinfo(non_gov_userinfo)

expect(created_user.email).to eq(email)
expect(created_user.token).to eq(token)
Expand All @@ -105,9 +105,9 @@
token = gov_userinfo[0]["sub"]

user = described_class.create!(email:)
expect(user.token).to eq(nil)
expect(user.token).to be_nil

updated_user = User.user_from_userinfo(gov_userinfo)
updated_user = described_class.user_from_userinfo(gov_userinfo)

expect(updated_user.id).to eq(user.id)
expect(updated_user.email).to eq(email)
Expand Down

0 comments on commit 9ac3061

Please sign in to comment.