Skip to content

Commit e7bec70

Browse files
committed
style: apply RuboCop auto-corrections
Applied safe auto-corrections across codebase: String literals: - Convert double quotes to single quotes where interpolation not needed - 50+ occurrences fixed Layout fixes: - Fix indentation inconsistencies - Remove extra empty lines in blocks - Standardize line endings String concatenation: - Convert string concatenation to interpolation - Improve readability in database_safety.rb Redundant arguments: - Remove redundant split arguments in auth_controller.rb
1 parent 1d30ed0 commit e7bec70

File tree

6 files changed

+179
-180
lines changed

6 files changed

+179
-180
lines changed

app/modules/analytics/concerns/analytics_calculations.rb

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -162,37 +162,37 @@ def calculate_performance_by_role(matches, damage_field: :damage_dealt_total)
162162
class << self
163163
private
164164

165-
def group_stats_by_role(stats, damage_field)
166-
stats.group('players.role').select(
167-
'players.role',
168-
'COUNT(*) as games',
169-
'AVG(player_match_stats.kills) as avg_kills',
170-
'AVG(player_match_stats.deaths) as avg_deaths',
171-
'AVG(player_match_stats.assists) as avg_assists',
172-
'AVG(player_match_stats.gold_earned) as avg_gold',
173-
"AVG(player_match_stats.#{damage_field}) as avg_damage",
174-
'AVG(player_match_stats.vision_score) as avg_vision'
175-
)
176-
end
165+
def group_stats_by_role(stats, damage_field)
166+
stats.group('players.role').select(
167+
'players.role',
168+
'COUNT(*) as games',
169+
'AVG(player_match_stats.kills) as avg_kills',
170+
'AVG(player_match_stats.deaths) as avg_deaths',
171+
'AVG(player_match_stats.assists) as avg_assists',
172+
'AVG(player_match_stats.gold_earned) as avg_gold',
173+
"AVG(player_match_stats.#{damage_field}) as avg_damage",
174+
'AVG(player_match_stats.vision_score) as avg_vision'
175+
)
176+
end
177177

178-
def format_role_stat(stat)
179-
{
180-
role: stat.role,
181-
games: stat.games,
182-
avg_kda: format_avg_kda(stat),
183-
avg_gold: stat.avg_gold&.round(0) || 0,
184-
avg_damage: stat.avg_damage&.round(0) || 0,
185-
avg_vision: stat.avg_vision&.round(1) || 0
186-
}
187-
end
178+
def format_role_stat(stat)
179+
{
180+
role: stat.role,
181+
games: stat.games,
182+
avg_kda: format_avg_kda(stat),
183+
avg_gold: stat.avg_gold&.round(0) || 0,
184+
avg_damage: stat.avg_damage&.round(0) || 0,
185+
avg_vision: stat.avg_vision&.round(1) || 0
186+
}
187+
end
188188

189-
def format_avg_kda(stat)
190-
{
191-
kills: stat.avg_kills&.round(1) || 0,
192-
deaths: stat.avg_deaths&.round(1) || 0,
193-
assists: stat.avg_assists&.round(1) || 0
194-
}
195-
end
189+
def format_avg_kda(stat)
190+
{
191+
kills: stat.avg_kills&.round(1) || 0,
192+
deaths: stat.avg_deaths&.round(1) || 0,
193+
assists: stat.avg_assists&.round(1) || 0
194+
}
195+
end
196196
end
197197
end
198198
end

app/modules/authentication/controllers/auth_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ def refresh
149149
# @return [JSON] Success message
150150
def logout
151151
# Blacklist the current access token
152-
token = request.headers['Authorization']&.split(' ')&.last
152+
token = request.headers['Authorization']&.split&.last
153153
Authentication::Services::JwtService.blacklist_token(token) if token
154154

155155
log_user_action(

app/modules/competitive/services/draft_comparator_service.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,6 @@ def extract_picks_and_bans(matches, role)
204204

205205
[picks, bans]
206206
end
207-
208207
end
209208
end
210209
end

app/modules/players/controllers/players_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ def handle_import_error(result)
364364
end
365365

366366
render_error(
367-
message: result[:error] || "Failed to import from Riot API",
367+
message: result[:error] || 'Failed to import from Riot API',
368368
code: result[:code] || 'IMPORT_ERROR',
369369
status: status
370370
)
Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
1-
# frozen_string_literal: true
2-
3-
module Players
4-
module Services
5-
# Custom exception for Riot API errors with status code tracking
6-
class RiotApiError < StandardError
7-
attr_accessor :status_code, :response_body
8-
9-
def initialize(message = nil)
10-
super(message)
11-
@status_code = nil
12-
@response_body = nil
13-
end
14-
15-
def not_found?
16-
status_code == 404
17-
end
18-
19-
def rate_limited?
20-
status_code == 429
21-
end
22-
23-
def server_error?
24-
status_code >= 500
25-
end
26-
end
27-
end
28-
end
1+
# frozen_string_literal: true
2+
3+
module Players
4+
module Services
5+
# Custom exception for Riot API errors with status code tracking
6+
class RiotApiError < StandardError
7+
attr_accessor :status_code, :response_body
8+
9+
def initialize(message = nil)
10+
super
11+
@status_code = nil
12+
@response_body = nil
13+
end
14+
15+
def not_found?
16+
status_code == 404
17+
end
18+
19+
def rate_limited?
20+
status_code == 429
21+
end
22+
23+
def server_error?
24+
status_code >= 500
25+
end
26+
end
27+
end
28+
end

db/seeds.rb

Lines changed: 120 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -1,120 +1,120 @@
1-
# frozen_string_literal: true
2-
3-
# Seeds file for ProStaff API - Development/Testing Data
4-
#
5-
# SECURITY NOTE: This file creates development-only accounts
6-
# Never use these credentials in production!
7-
8-
# Get password from ENV or use default for development
9-
DEFAULT_DEV_PASSWORD = ENV.fetch('DEV_SEED_PASSWORD', 'password123')
10-
11-
puts '🌱 Seeding database with organizations...'
12-
13-
# ============================================================================
14-
# TIME 1: Java E-sports (Tier 1 Professional)
15-
# ============================================================================
16-
puts "\n📍 Creating Java E-sports..."
17-
18-
org1 = Organization.find_or_create_by!(id: '043824c0-906f-4aa2-9bc7-11d668b508dc') do |organization|
19-
organization.name = 'Java E-sports'
20-
organization.slug = 'java-esports'
21-
organization.region = 'BR'
22-
organization.tier = 'tier_1_professional'
23-
organization.subscription_plan = 'professional'
24-
organization.subscription_status = 'active'
25-
end
26-
27-
puts " ✅ Organization: #{org1.name} (#{org1.tier})"
28-
29-
user1 = User.find_or_create_by!(email: '[email protected]') do |user|
30-
user.organization = org1
31-
user.password = DEFAULT_DEV_PASSWORD
32-
user.password_confirmation = DEFAULT_DEV_PASSWORD
33-
user.full_name = 'Java E-sports Coach'
34-
user.role = 'coach'
35-
user.timezone = 'America/Sao_Paulo'
36-
user.language = 'pt-BR'
37-
end
38-
39-
puts " ✅ User: #{user1.email} (role: #{user1.role})"
40-
41-
# ============================================================================
42-
# TIME 2: BotaPagodão.net (Tier 2 Semi-Pro)
43-
# ============================================================================
44-
puts "\n📍 Creating BotaPagodão.net..."
45-
46-
org2 = Organization.find_or_create_by!(id: 'd2e76113-eeda-4e5c-9a5e-bd3e944fc290') do |organization|
47-
organization.name = 'BotaPagodão.net'
48-
organization.slug = 'botapagodao-net'
49-
organization.region = 'BR'
50-
organization.tier = 'tier_2_semi_pro'
51-
organization.subscription_plan = 'semi_pro'
52-
organization.subscription_status = 'active'
53-
end
54-
55-
puts " ✅ Organization: #{org2.name} (#{org2.tier})"
56-
57-
user2 = User.find_or_create_by!(email: '[email protected]') do |user|
58-
user.organization = org2
59-
user.password = DEFAULT_DEV_PASSWORD
60-
user.password_confirmation = DEFAULT_DEV_PASSWORD
61-
user.full_name = 'BotaPagodão Coach'
62-
user.role = 'coach'
63-
user.timezone = 'America/Sao_Paulo'
64-
user.language = 'pt-BR'
65-
end
66-
67-
puts " ✅ User: #{user2.email} (role: #{user2.role})"
68-
69-
# ============================================================================
70-
# TIME 3: Discordia (Tier 2 Semi-Pro)
71-
# ============================================================================
72-
puts "\n📍 Creating Discordia..."
73-
74-
org3 = Organization.find_or_create_by!(slug: 'discordia') do |organization|
75-
organization.name = 'Discordia'
76-
organization.region = 'BR'
77-
organization.tier = 'tier_2_semi_pro'
78-
organization.subscription_plan = 'semi_pro'
79-
organization.subscription_status = 'active'
80-
end
81-
82-
puts " ✅ Organization: #{org3.name} (#{org3.tier}) - ID: #{org3.id}"
83-
84-
user3 = User.find_or_create_by!(email: '[email protected]') do |user|
85-
user.organization = org3
86-
user.password = DEFAULT_DEV_PASSWORD
87-
user.password_confirmation = DEFAULT_DEV_PASSWORD
88-
user.full_name = 'Discordia Coach'
89-
user.role = 'coach'
90-
user.timezone = 'America/Sao_Paulo'
91-
user.language = 'pt-BR'
92-
end
93-
94-
puts " ✅ User: #{user3.email} (role: #{user3.role})"
95-
96-
# ============================================================================
97-
# SUMMARY
98-
# ============================================================================
99-
puts "\n" + ("=" * 70)
100-
puts "🎉 Database seeded successfully!"
101-
puts ("=" * 70)
102-
puts "\n📋 Organizations Created:"
103-
puts " 1. Java E-sports (Tier 1 Professional)"
104-
puts " • ID: #{org1.id}"
105-
puts " • Login: [email protected] / #{DEFAULT_DEV_PASSWORD}"
106-
puts ""
107-
puts " 2. BotaPagodão.net (Tier 2 Semi-Pro)"
108-
puts " • ID: #{org2.id}"
109-
puts " • Login: [email protected] / #{DEFAULT_DEV_PASSWORD}"
110-
puts ""
111-
puts " 3. Discordia (Tier 2 Semi-Pro)"
112-
puts " • ID: #{org3.id}"
113-
puts " • Login: [email protected] / #{DEFAULT_DEV_PASSWORD}"
114-
puts "\n" + ("=" * 70)
115-
puts "📝 Next Steps:"
116-
puts " • Import players manually for each organization"
117-
puts " • Verify login works with the credentials above"
118-
puts "\n⚠️ IMPORTANT: These are DEVELOPMENT-ONLY credentials!"
119-
puts " Never use these passwords in production environments."
120-
puts ("=" * 70) + "\n"
1+
# frozen_string_literal: true
2+
3+
# Seeds file for ProStaff API - Development/Testing Data
4+
#
5+
# SECURITY NOTE: This file creates development-only accounts
6+
# Never use these credentials in production!
7+
8+
# Get password from ENV or use default for development
9+
DEFAULT_DEV_PASSWORD = ENV.fetch('DEV_SEED_PASSWORD', 'password123')
10+
11+
puts '🌱 Seeding database with organizations...'
12+
13+
# ============================================================================
14+
# TIME 1: Java E-sports (Tier 1 Professional)
15+
# ============================================================================
16+
puts "\n📍 Creating Java E-sports..."
17+
18+
org1 = Organization.find_or_create_by!(id: '043824c0-906f-4aa2-9bc7-11d668b508dc') do |organization|
19+
organization.name = 'Java E-sports'
20+
organization.slug = 'java-esports'
21+
organization.region = 'BR'
22+
organization.tier = 'tier_1_professional'
23+
organization.subscription_plan = 'professional'
24+
organization.subscription_status = 'active'
25+
end
26+
27+
puts " ✅ Organization: #{org1.name} (#{org1.tier})"
28+
29+
user1 = User.find_or_create_by!(email: '[email protected]') do |user|
30+
user.organization = org1
31+
user.password = DEFAULT_DEV_PASSWORD
32+
user.password_confirmation = DEFAULT_DEV_PASSWORD
33+
user.full_name = 'Java E-sports Coach'
34+
user.role = 'coach'
35+
user.timezone = 'America/Sao_Paulo'
36+
user.language = 'pt-BR'
37+
end
38+
39+
puts " ✅ User: #{user1.email} (role: #{user1.role})"
40+
41+
# ============================================================================
42+
# TIME 2: BotaPagodão.net (Tier 2 Semi-Pro)
43+
# ============================================================================
44+
puts "\n📍 Creating BotaPagodão.net..."
45+
46+
org2 = Organization.find_or_create_by!(id: 'd2e76113-eeda-4e5c-9a5e-bd3e944fc290') do |organization|
47+
organization.name = 'BotaPagodão.net'
48+
organization.slug = 'botapagodao-net'
49+
organization.region = 'BR'
50+
organization.tier = 'tier_2_semi_pro'
51+
organization.subscription_plan = 'semi_pro'
52+
organization.subscription_status = 'active'
53+
end
54+
55+
puts " ✅ Organization: #{org2.name} (#{org2.tier})"
56+
57+
user2 = User.find_or_create_by!(email: '[email protected]') do |user|
58+
user.organization = org2
59+
user.password = DEFAULT_DEV_PASSWORD
60+
user.password_confirmation = DEFAULT_DEV_PASSWORD
61+
user.full_name = 'BotaPagodão Coach'
62+
user.role = 'coach'
63+
user.timezone = 'America/Sao_Paulo'
64+
user.language = 'pt-BR'
65+
end
66+
67+
puts " ✅ User: #{user2.email} (role: #{user2.role})"
68+
69+
# ============================================================================
70+
# TIME 3: Discordia (Tier 2 Semi-Pro)
71+
# ============================================================================
72+
puts "\n📍 Creating Discordia..."
73+
74+
org3 = Organization.find_or_create_by!(slug: 'discordia') do |organization|
75+
organization.name = 'Discordia'
76+
organization.region = 'BR'
77+
organization.tier = 'tier_2_semi_pro'
78+
organization.subscription_plan = 'semi_pro'
79+
organization.subscription_status = 'active'
80+
end
81+
82+
puts " ✅ Organization: #{org3.name} (#{org3.tier}) - ID: #{org3.id}"
83+
84+
user3 = User.find_or_create_by!(email: '[email protected]') do |user|
85+
user.organization = org3
86+
user.password = DEFAULT_DEV_PASSWORD
87+
user.password_confirmation = DEFAULT_DEV_PASSWORD
88+
user.full_name = 'Discordia Coach'
89+
user.role = 'coach'
90+
user.timezone = 'America/Sao_Paulo'
91+
user.language = 'pt-BR'
92+
end
93+
94+
puts " ✅ User: #{user3.email} (role: #{user3.role})"
95+
96+
# ============================================================================
97+
# SUMMARY
98+
# ============================================================================
99+
puts "\n" + ('=' * 70)
100+
puts '🎉 Database seeded successfully!'
101+
puts('=' * 70)
102+
puts "\n📋 Organizations Created:"
103+
puts ' 1. Java E-sports (Tier 1 Professional)'
104+
puts " • ID: #{org1.id}"
105+
puts " • Login: [email protected] / #{DEFAULT_DEV_PASSWORD}"
106+
puts ''
107+
puts ' 2. BotaPagodão.net (Tier 2 Semi-Pro)'
108+
puts " • ID: #{org2.id}"
109+
puts " • Login: [email protected] / #{DEFAULT_DEV_PASSWORD}"
110+
puts ''
111+
puts ' 3. Discordia (Tier 2 Semi-Pro)'
112+
puts " • ID: #{org3.id}"
113+
puts " • Login: [email protected] / #{DEFAULT_DEV_PASSWORD}"
114+
puts "\n" + ('=' * 70)
115+
puts '📝 Next Steps:'
116+
puts ' • Import players manually for each organization'
117+
puts ' • Verify login works with the credentials above'
118+
puts "\n⚠️ IMPORTANT: These are DEVELOPMENT-ONLY credentials!"
119+
puts ' Never use these passwords in production environments.'
120+
puts ('=' * 70) + "\n"

0 commit comments

Comments
 (0)