Setup a project dependant rubocop for ease of development.

We included the project specific settings files so that fellow VS Code users can just clone down the repo, and install the needed extensions.
This commit is contained in:
VetheonGames 2023-06-07 13:37:41 -06:00
parent 3d2a632b0e
commit f96cf9e20a
5 changed files with 94 additions and 53 deletions

14
.rubocop.yml Normal file
View File

@ -0,0 +1,14 @@
# This is an example Rubocop configuration file with all cops enabled.
# AllCops section defines global settings.
AllCops:
Exclude:
- 'vendor/**/*' # Exclude vendor directory
- 'db/schema.rb' # Exclude database schema file
- 'db/migrate/**/*' # Exclude database migration files
# Enables all cops.
# Set the value to `true` or `false` to enable/disable all cops.
# You can also enable/disable specific cops individually.
# By default, all cops are enabled.
inherit_from: .rubocop_todo.yml

View File

@ -1,6 +1,6 @@
# This configuration was generated by # This configuration was generated by
# `rubocop --auto-gen-config` # `rubocop --auto-gen-config --exclude-limit 1000`
# on 2023-06-07 18:22:21 UTC using RuboCop version 1.52.0. # on 2023-06-07 19:34:17 UTC using RuboCop version 1.52.0.
# The point is for the user to remove these configuration records # The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base. # one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new # Note that changes in the inspected code, or installation of new
@ -12,7 +12,7 @@
# Include: **/*.gemfile, **/Gemfile, **/gems.rb # Include: **/*.gemfile, **/Gemfile, **/gems.rb
Bundler/OrderedGems: Bundler/OrderedGems:
Exclude: Exclude:
- 'Gemfile' - 'lib/Gemfile'
# Offense count: 1 # Offense count: 1
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
@ -20,41 +20,58 @@ Bundler/OrderedGems:
# SupportedStylesAlignWith: keyword, variable, start_of_line # SupportedStylesAlignWith: keyword, variable, start_of_line
Layout/EndAlignment: Layout/EndAlignment:
Exclude: Exclude:
- 'utils/utilities.rb' - 'lib/utils/utilities.rb'
# Offense count: 3 # Offense count: 3
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Width, AllowedPatterns. # Configuration parameters: Width, AllowedPatterns.
Layout/IndentationWidth: Layout/IndentationWidth:
Exclude: Exclude:
- 'utils/utilities.rb' - 'lib/utils/utilities.rb'
# Offense count: 3 # Offense count: 8
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle. # Configuration parameters: EnforcedStyle.
# SupportedStyles: final_newline, final_blank_line # SupportedStyles: final_newline, final_blank_line
Layout/TrailingEmptyLines: Layout/TrailingEmptyLines:
Exclude: Exclude:
- 'utils/database_manager.rb' - 'Modules/advanced_logger.rb'
- 'utils/system_information_gather.rb' - 'Modules/firewall_manager.rb'
- 'utils/utilities.rb' - 'Modules/nftables_interface.rb'
- 'Modules/packet_manager.rb'
- 'Modules/protection_engine.rb'
- 'lib/utils/database_manager.rb'
- 'lib/utils/system_information_gather.rb'
- 'lib/utils/utilities.rb'
# Offense count: 9 # Offense count: 9
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowInHeredoc. # Configuration parameters: AllowInHeredoc.
Layout/TrailingWhitespace: Layout/TrailingWhitespace:
Exclude: Exclude:
- 'utils/database_manager.rb' - 'lib/utils/database_manager.rb'
- 'utils/first_run_init.rb' - 'lib/utils/first_run_init.rb'
- 'utils/system_information_gather.rb' - 'lib/utils/system_information_gather.rb'
- 'utils/utilities.rb' - 'lib/utils/utilities.rb'
# Offense count: 1
# Configuration parameters: AllowComments.
Lint/EmptyFile:
Exclude:
- 'TUI/main_tui.rb'
# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Lint/ScriptPermission:
Exclude:
- 'bin/NETRAVE'
# Offense count: 1 # Offense count: 1
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods. # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
Lint/UnusedMethodArgument: Lint/UnusedMethodArgument:
Exclude: Exclude:
- 'utils/system_information_gather.rb' - 'lib/utils/system_information_gather.rb'
# Offense count: 5 # Offense count: 5
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
@ -71,7 +88,7 @@ Metrics/MethodLength:
# AllowedNames: module_parent # AllowedNames: module_parent
Naming/ClassAndModuleCamelCase: Naming/ClassAndModuleCamelCase:
Exclude: Exclude:
- 'utils/GUI_launcher.rb' - 'lib/utils/GUI_launcher.rb'
# Offense count: 1 # Offense count: 1
# Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, CheckDefinitionPathHierarchyRoots, Regex, IgnoreExecutableScripts, AllowedAcronyms. # Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, CheckDefinitionPathHierarchyRoots, Regex, IgnoreExecutableScripts, AllowedAcronyms.
@ -79,7 +96,7 @@ Naming/ClassAndModuleCamelCase:
# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS # AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
Naming/FileName: Naming/FileName:
Exclude: Exclude:
- 'utils/GUI_launcher.rb' - 'lib/utils/GUI_launcher.rb'
# Offense count: 2 # Offense count: 2
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
@ -87,7 +104,7 @@ Naming/FileName:
# SupportedStyles: always, conditionals # SupportedStyles: always, conditionals
Style/AndOr: Style/AndOr:
Exclude: Exclude:
- 'utils/GUI_launcher.rb' - 'lib/utils/GUI_launcher.rb'
# Offense count: 5 # Offense count: 5
# Configuration parameters: AllowedConstants. # Configuration parameters: AllowedConstants.
@ -95,44 +112,50 @@ Style/Documentation:
Exclude: Exclude:
- 'spec/**/*' - 'spec/**/*'
- 'test/**/*' - 'test/**/*'
- 'utils/GUI_launcher.rb' - 'lib/utils/GUI_launcher.rb'
- 'utils/database_manager.rb' - 'lib/utils/database_manager.rb'
- 'utils/first_run_init.rb' - 'lib/utils/first_run_init.rb'
- 'utils/system_information_gather.rb' - 'lib/utils/system_information_gather.rb'
- 'utils/utilities.rb' - 'lib/utils/utilities.rb'
# Offense count: 5 # Offense count: 11
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle. # Configuration parameters: EnforcedStyle.
# SupportedStyles: always, always_true, never # SupportedStyles: always, always_true, never
Style/FrozenStringLiteralComment: Style/FrozenStringLiteralComment:
Exclude: Exclude:
- 'utils/GUI_launcher.rb' - 'Modules/advanced_logger.rb'
- 'utils/database_manager.rb' - 'Modules/firewall_manager.rb'
- 'utils/first_run_init.rb' - 'Modules/nftables_interface.rb'
- 'utils/system_information_gather.rb' - 'Modules/packet_manager.rb'
- 'utils/utilities.rb' - 'Modules/protection_engine.rb'
- 'bin/NETRAVE'
- 'lib/utils/GUI_launcher.rb'
- 'lib/utils/database_manager.rb'
- 'lib/utils/first_run_init.rb'
- 'lib/utils/system_information_gather.rb'
- 'lib/utils/utilities.rb'
# Offense count: 4 # Offense count: 4
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
Style/GuardClause: Style/GuardClause:
Exclude: Exclude:
- 'utils/first_run_init.rb' - 'lib/utils/first_run_init.rb'
- 'utils/system_information_gather.rb' - 'lib/utils/system_information_gather.rb'
# Offense count: 4 # Offense count: 4
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
Style/InfiniteLoop: Style/InfiniteLoop:
Exclude: Exclude:
- 'utils/first_run_init.rb' - 'lib/utils/first_run_init.rb'
- 'utils/system_information_gather.rb' - 'lib/utils/system_information_gather.rb'
# Offense count: 1 # Offense count: 1
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
Style/NegatedWhile: Style/NegatedWhile:
Exclude: Exclude:
- 'utils/first_run_init.rb' - 'lib/utils/first_run_init.rb'
# Offense count: 1 # Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
@ -141,21 +164,22 @@ Style/NegatedWhile:
Style/NumericPredicate: Style/NumericPredicate:
Exclude: Exclude:
- 'spec/**/*' - 'spec/**/*'
- 'utils/system_information_gather.rb' - 'lib/utils/system_information_gather.rb'
# Offense count: 1 # Offense count: 1
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
Style/RedundantBegin: Style/RedundantBegin:
Exclude: Exclude:
- 'utils/database_manager.rb' - 'lib/utils/database_manager.rb'
# Offense count: 6 # Offense count: 9
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
Style/RedundantFileExtensionInRequire: Style/RedundantFileExtensionInRequire:
Exclude: Exclude:
- 'utils/database_manager.rb' - 'bin/NETRAVE'
- 'utils/first_run_init.rb' - 'lib/utils/database_manager.rb'
- 'utils/system_information_gather.rb' - 'lib/utils/first_run_init.rb'
- 'lib/utils/system_information_gather.rb'
# Offense count: 1 # Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all). # This cop supports unsafe autocorrection (--autocorrect-all).
@ -163,19 +187,20 @@ Style/RedundantFileExtensionInRequire:
# AllowedMethods: present?, blank?, presence, try, try! # AllowedMethods: present?, blank?, presence, try, try!
Style/SafeNavigation: Style/SafeNavigation:
Exclude: Exclude:
- 'utils/database_manager.rb' - 'lib/utils/database_manager.rb'
# Offense count: 36 # Offense count: 40
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
# SupportedStyles: single_quotes, double_quotes # SupportedStyles: single_quotes, double_quotes
Style/StringLiterals: Style/StringLiterals:
Exclude: Exclude:
- 'Gemfile' - 'bin/NETRAVE'
- 'utils/GUI_launcher.rb' - 'lib/Gemfile'
- 'utils/database_manager.rb' - 'lib/utils/GUI_launcher.rb'
- 'utils/first_run_init.rb' - 'lib/utils/database_manager.rb'
- 'utils/system_information_gather.rb' - 'lib/utils/first_run_init.rb'
- 'lib/utils/system_information_gather.rb'
# Offense count: 1 # Offense count: 1
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
@ -184,9 +209,9 @@ Style/StringLiterals:
Style/WordArray: Style/WordArray:
EnforcedStyle: brackets EnforcedStyle: brackets
# Offense count: 1 # Offense count: 6
# This cop supports safe autocorrection (--autocorrect). # This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns. # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
# URISchemes: http, https # URISchemes: http, https
Layout/LineLength: Layout/LineLength:
Max: 121 Max: 239

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"ruby.rubocop.autocorrectOnSave": true
}

View File

@ -1 +0,0 @@
inherit_from: .rubocop_todo.yml

View File

@ -40,22 +40,22 @@ class FirstRunInit
Curses.addstr("Please enter your database username: ") Curses.addstr("Please enter your database username: ")
Curses.refresh Curses.refresh
username = Curses.getstr.strip username = Curses.getstr.strip
Curses.setpos(2, 0) Curses.setpos(2, 0)
Curses.addstr("Please enter your database password: ") Curses.addstr("Please enter your database password: ")
Curses.refresh Curses.refresh
Curses.noecho Curses.noecho
password = Curses.getstr.strip password = Curses.getstr.strip
Curses.echo Curses.echo
Curses.setpos(3, 0) Curses.setpos(3, 0)
Curses.addstr("Please enter your database name: ") Curses.addstr("Please enter your database name: ")
Curses.refresh Curses.refresh
database = Curses.getstr.strip database = Curses.getstr.strip
{ username: username, password: password, database: database } { username: username, password: password, database: database }
end end
def write_db_details_to_config_file(db_details) def write_db_details_to_config_file(db_details)
File.open("config.yml", "w") do |file| File.open("config.yml", "w") do |file|
file.write(db_details.to_yaml) file.write(db_details.to_yaml)