Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Splitting VVV code in Vagrantfile into classes #2641

Commits on Nov 8, 2022

  1. Splitting VVV code in Vagrantfile into classes

    This is an unusually large commit that should untangle some of the
    additional Ruby code run by the Vagrantfile, before the `Vagrant.configure` block is run.
    
    - Moving functionality related to VVV that is run before the
      `Vagrant.configure` block into a separate Ruby module and classes
    - The resulting classes and methods now follow the Ruby Style Guide
    - Implementing simple and reasonable Rubocop ruleset
    - Adding a Rubocop Github action
    - Adding a `.ruby-version` file indicating the Ruby version currently
      used by Vagrant (2.7.6)
    - Few if any functional changes have been introduced intentionally
    - Further code cleanup
    
    The following classes were created:
    
    - `VVV::Info` - Fetches info on the platform and environment
    - `VVV::Config` - Reads and processes the config file
    - `VVV::SplashScreens` - Displays splash screens
    - `VVV::Bootstrap` - Indicates when to display splash screens
    - `VVV::Migrate` - Handles config file and database migrations
    
    Caveats:
    
    - This covers what happens before `Vagrant.configure`
    - The cleanup is required to keep the Ruby code maintainable and to
      facilitate further development.
    
    Bugfixes:
    - The non-functionning `Vagrant.has_plugin?` may be replaced by `VVV::Info.vagrant_local_plugins` and `VVV::Info.vagrant_global_plugins`
    
    To be tested:
    
    [ ] Config migration
    [ ] Database migration
    [ ] Splash screens and
    [ ] Config defaults
    [ ] Config processing and backwards-compatibility
    [ ] Github action for Rubocop
    [ ] Different host platforms and architectures
    aldavigdis committed Nov 8, 2022
    Configuration menu
    Copy the full SHA
    59b3fa7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e7933da View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2022

  1. Configuration menu
    Copy the full SHA
    eb34890 View commit details
    Browse the repository at this point in the history