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
# `rubocop --auto-gen-config`
# on 2023-06-07 18:22:21 UTC using RuboCop version 1.52.0.
# `rubocop --auto-gen-config --exclude-limit 1000`
# 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
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
@ -12,7 +12,7 @@
# Include: **/*.gemfile, **/Gemfile, **/gems.rb
Bundler/OrderedGems:
Exclude:
- 'Gemfile'
- 'lib/Gemfile'
# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
@ -20,41 +20,58 @@ Bundler/OrderedGems:
# SupportedStylesAlignWith: keyword, variable, start_of_line
Layout/EndAlignment:
Exclude:
- 'utils/utilities.rb'
- 'lib/utils/utilities.rb'
# Offense count: 3
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Width, AllowedPatterns.
Layout/IndentationWidth:
Exclude:
- 'utils/utilities.rb'
- 'lib/utils/utilities.rb'
# Offense count: 3
# Offense count: 8
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: final_newline, final_blank_line
Layout/TrailingEmptyLines:
Exclude:
- 'utils/database_manager.rb'
- 'utils/system_information_gather.rb'
- 'utils/utilities.rb'
- 'Modules/advanced_logger.rb'
- 'Modules/firewall_manager.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
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowInHeredoc.
Layout/TrailingWhitespace:
Exclude:
- 'utils/database_manager.rb'
- 'utils/first_run_init.rb'
- 'utils/system_information_gather.rb'
- 'utils/utilities.rb'
- 'lib/utils/database_manager.rb'
- 'lib/utils/first_run_init.rb'
- 'lib/utils/system_information_gather.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
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
Lint/UnusedMethodArgument:
Exclude:
- 'utils/system_information_gather.rb'
- 'lib/utils/system_information_gather.rb'
# Offense count: 5
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
@ -71,7 +88,7 @@ Metrics/MethodLength:
# AllowedNames: module_parent
Naming/ClassAndModuleCamelCase:
Exclude:
- 'utils/GUI_launcher.rb'
- 'lib/utils/GUI_launcher.rb'
# Offense count: 1
# 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
Naming/FileName:
Exclude:
- 'utils/GUI_launcher.rb'
- 'lib/utils/GUI_launcher.rb'
# Offense count: 2
# This cop supports unsafe autocorrection (--autocorrect-all).
@ -87,7 +104,7 @@ Naming/FileName:
# SupportedStyles: always, conditionals
Style/AndOr:
Exclude:
- 'utils/GUI_launcher.rb'
- 'lib/utils/GUI_launcher.rb'
# Offense count: 5
# Configuration parameters: AllowedConstants.
@ -95,44 +112,50 @@ Style/Documentation:
Exclude:
- 'spec/**/*'
- 'test/**/*'
- 'utils/GUI_launcher.rb'
- 'utils/database_manager.rb'
- 'utils/first_run_init.rb'
- 'utils/system_information_gather.rb'
- 'utils/utilities.rb'
- '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: 5
# Offense count: 11
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, always_true, never
Style/FrozenStringLiteralComment:
Exclude:
- 'utils/GUI_launcher.rb'
- 'utils/database_manager.rb'
- 'utils/first_run_init.rb'
- 'utils/system_information_gather.rb'
- 'utils/utilities.rb'
- 'Modules/advanced_logger.rb'
- 'Modules/firewall_manager.rb'
- 'Modules/nftables_interface.rb'
- 'Modules/packet_manager.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
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
Style/GuardClause:
Exclude:
- 'utils/first_run_init.rb'
- 'utils/system_information_gather.rb'
- 'lib/utils/first_run_init.rb'
- 'lib/utils/system_information_gather.rb'
# Offense count: 4
# This cop supports unsafe autocorrection (--autocorrect-all).
Style/InfiniteLoop:
Exclude:
- 'utils/first_run_init.rb'
- 'utils/system_information_gather.rb'
- 'lib/utils/first_run_init.rb'
- 'lib/utils/system_information_gather.rb'
# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Style/NegatedWhile:
Exclude:
- 'utils/first_run_init.rb'
- 'lib/utils/first_run_init.rb'
# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
@ -141,21 +164,22 @@ Style/NegatedWhile:
Style/NumericPredicate:
Exclude:
- 'spec/**/*'
- 'utils/system_information_gather.rb'
- 'lib/utils/system_information_gather.rb'
# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Style/RedundantBegin:
Exclude:
- 'utils/database_manager.rb'
- 'lib/utils/database_manager.rb'
# Offense count: 6
# Offense count: 9
# This cop supports safe autocorrection (--autocorrect).
Style/RedundantFileExtensionInRequire:
Exclude:
- 'utils/database_manager.rb'
- 'utils/first_run_init.rb'
- 'utils/system_information_gather.rb'
- 'bin/NETRAVE'
- 'lib/utils/database_manager.rb'
- 'lib/utils/first_run_init.rb'
- 'lib/utils/system_information_gather.rb'
# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
@ -163,19 +187,20 @@ Style/RedundantFileExtensionInRequire:
# AllowedMethods: present?, blank?, presence, try, try!
Style/SafeNavigation:
Exclude:
- 'utils/database_manager.rb'
- 'lib/utils/database_manager.rb'
# Offense count: 36
# Offense count: 40
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiterals:
Exclude:
- 'Gemfile'
- 'utils/GUI_launcher.rb'
- 'utils/database_manager.rb'
- 'utils/first_run_init.rb'
- 'utils/system_information_gather.rb'
- 'bin/NETRAVE'
- 'lib/Gemfile'
- 'lib/utils/GUI_launcher.rb'
- 'lib/utils/database_manager.rb'
- 'lib/utils/first_run_init.rb'
- 'lib/utils/system_information_gather.rb'
# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
@ -184,9 +209,9 @@ Style/StringLiterals:
Style/WordArray:
EnforcedStyle: brackets
# Offense count: 1
# Offense count: 6
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
# URISchemes: http, https
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.refresh
username = Curses.getstr.strip
Curses.setpos(2, 0)
Curses.addstr("Please enter your database password: ")
Curses.refresh
Curses.noecho
password = Curses.getstr.strip
Curses.echo
Curses.setpos(3, 0)
Curses.addstr("Please enter your database name: ")
Curses.refresh
database = Curses.getstr.strip
{ username: username, password: password, database: database }
end
def write_db_details_to_config_file(db_details)
File.open("config.yml", "w") do |file|
file.write(db_details.to_yaml)