From f96cf9e20a2f1325be4d33a8d2ceb698011b343e Mon Sep 17 00:00:00 2001 From: VetheonGames Date: Wed, 7 Jun 2023 13:37:41 -0600 Subject: [PATCH] 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. --- .rubocop.yml | 14 +++ lib/.rubocop_todo.yml => .rubocop_todo.yml | 121 +++++++++++++-------- .vscode/settings.json | 3 + lib/.rubocop.yml | 1 - lib/utils/first_run_init.rb | 8 +- 5 files changed, 94 insertions(+), 53 deletions(-) create mode 100644 .rubocop.yml rename lib/.rubocop_todo.yml => .rubocop_todo.yml (66%) create mode 100644 .vscode/settings.json delete mode 100644 lib/.rubocop.yml diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000..f913acd --- /dev/null +++ b/.rubocop.yml @@ -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 diff --git a/lib/.rubocop_todo.yml b/.rubocop_todo.yml similarity index 66% rename from lib/.rubocop_todo.yml rename to .rubocop_todo.yml index f88895f..22d74a5 100644 --- a/lib/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -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 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..a8f763c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "ruby.rubocop.autocorrectOnSave": true +} diff --git a/lib/.rubocop.yml b/lib/.rubocop.yml deleted file mode 100644 index cc32da4..0000000 --- a/lib/.rubocop.yml +++ /dev/null @@ -1 +0,0 @@ -inherit_from: .rubocop_todo.yml diff --git a/lib/utils/first_run_init.rb b/lib/utils/first_run_init.rb index 9c92070..f8e6970 100644 --- a/lib/utils/first_run_init.rb +++ b/lib/utils/first_run_init.rb @@ -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)