Code Monkey home page Code Monkey logo

Comments (7)

tomjn avatar tomjn commented on June 11, 2024

I'd like us to keep to a .vvv folder, this is already supported in site provisioners and it avoids us having issues if we do things without vagrant or if vagrant changes the folder layout. Same if someone tries to debug by nuking the VM and removing the .vagrant folder

from vvv.

tomjn avatar tomjn commented on June 11, 2024

An example of OO or at least abstracting away duplication is the shared/mapped folders. All our mappings have the same settings yet we define them for every single provider, so a wrapper function or class representing each folder might be a more optimal way of doing it. I know other Vagrant projects have done this.

Chassis does this via configuration and an array:

https://github.com/Chassis/Chassis/blob/main/Vagrantfile#L104-L109

https://github.com/Chassis/Chassis/blob/main/Vagrantfile#L225-L232

GitHub
📦 Chassis is a virtual server for your WordPress site, built using Vagrant. - Chassis/Vagrantfile at main · Chassis/Chassis
GitHub
📦 Chassis is a virtual server for your WordPress site, built using Vagrant. - Chassis/Vagrantfile at main · Chassis/Chassis

from vvv.

tomjn avatar tomjn commented on June 11, 2024

Likewise, data collection and splash screens could be a function in a file, as could all the various big warning screens

from vvv.

aldavigdis avatar aldavigdis commented on June 11, 2024

I'm with you. I also think that starting off by creating a Ruby module called ``VVV` as a root namespace and then use that to namespace classes that we use, with each class in a separate file to make it easy to deal with.

I guess something like .vvv/lib/[class_name].rb would be a good idea that keeps us within needs and conventions.

I also think that scoping this so that we keep the current intended functionality and then branch into adding further functionality. I.e. starting off with some sort of MVP and going from there.

from vvv.

Mte90 avatar Mte90 commented on June 11, 2024

Looking on how we are looking to evolve the project for pure docker support and not just Vagrant a path can be .vvv/vagrant/lib[class_name].rb in this way we can use that folder for the internals things.

About the rest I agree about everything.

from vvv.

aldavigdis avatar aldavigdis commented on June 11, 2024

@Mte90 - That's exactly how I'm doing this currently. Maintainability and portability are the two biggest concerns that I've been having.

from vvv.

aldavigdis avatar aldavigdis commented on June 11, 2024

The first PR for this is ready at #2641.

from vvv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.