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)