Class: Vagrant::Plugin::V1::Host
- Inherits:
-
Object
- Object
- Vagrant::Plugin::V1::Host
- Defined in:
- lib/vagrant/plugin/v1/host.rb
Overview
Base class for a host in Vagrant. A host class contains functionality that is specific to a specific OS that is running Vagrant. This abstraction is done becauase there is some host-specific logic that Vagrant must do in some cases.
Class Method Summary collapse
-
.match? ⇒ Boolean
This returns true/false depending on if the current running system matches the host class.
-
.precedence ⇒ Object
The precedence of the host when checking for matches.
Instance Method Summary collapse
-
#initialize(ui) ⇒ Host
constructor
Initializes a new host class.
-
#nfs? ⇒ Boolean
Returns true of false denoting whether or not this host supports NFS shared folder setup.
-
#nfs_export(id, ip, folders) ⇒ Object
Exports the given hash of folders via NFS.
-
#nfs_prune(valid_ids) ⇒ Object
Prunes any NFS exports made by Vagrant which aren’t in the set of valid ids given.
Constructor Details
#initialize(ui) ⇒ Host
Initializes a new host class.
The only required parameter is a UI object so that the host objects have some way to communicate with the outside world.
34 35 36 |
# File 'lib/vagrant/plugin/v1/host.rb', line 34 def initialize(ui) @ui = ui end |
Class Method Details
.match? ⇒ Boolean
This returns true/false depending on if the current running system matches the host class.
13 14 15 |
# File 'lib/vagrant/plugin/v1/host.rb', line 13 def self.match? nil end |
.precedence ⇒ Object
The precedence of the host when checking for matches. This is to allow certain host such as generic OS’s (“Linux”, “BSD”, etc.) to be specified last.
The hosts with the higher numbers will be checked first.
If you’re implementing a basic host, you can probably ignore this.
24 25 26 |
# File 'lib/vagrant/plugin/v1/host.rb', line 24 def self.precedence 5 end |
Instance Method Details
#nfs? ⇒ Boolean
Returns true of false denoting whether or not this host supports NFS shared folder setup. This method ideally should verify that NFS is installed.
43 44 45 |
# File 'lib/vagrant/plugin/v1/host.rb', line 43 def nfs? false end |
#nfs_export(id, ip, folders) ⇒ Object
Exports the given hash of folders via NFS.
53 54 |
# File 'lib/vagrant/plugin/v1/host.rb', line 53 def nfs_export(id, ip, folders) end |
#nfs_prune(valid_ids) ⇒ Object
Prunes any NFS exports made by Vagrant which aren’t in the set of valid ids given.
61 62 |
# File 'lib/vagrant/plugin/v1/host.rb', line 61 def nfs_prune(valid_ids) end |