Class: VagrantPlugins::Skytap::Action::PrepareNFSSettings
- Defined in:
- lib/vagrant-skytap/action/prepare_nfs_settings.rb
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
Returns the value of attribute env.
-
#machine ⇒ Object
readonly
Returns the value of attribute machine.
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, env) ⇒ PrepareNFSSettings
constructor
A new instance of PrepareNFSSettings.
-
#read_host_ip ⇒ Object
Returns the IP address of the host, preferring one on an interface which the client can route to.
- #read_machine_ip ⇒ Object
- #using_nfs? ⇒ Boolean
Constructor Details
#initialize(app, env) ⇒ PrepareNFSSettings
Returns a new instance of PrepareNFSSettings.
7 8 9 10 11 |
# File 'lib/vagrant-skytap/action/prepare_nfs_settings.rb', line 7 def initialize(app,env) @app = app @env = env @logger = Log4r::Logger.new("vagrant_skytap::action::prepare_nfs_settings") end |
Instance Attribute Details
#env ⇒ Object (readonly)
Returns the value of attribute env.
5 6 7 |
# File 'lib/vagrant-skytap/action/prepare_nfs_settings.rb', line 5 def env @env end |
#machine ⇒ Object (readonly)
Returns the value of attribute machine.
5 6 7 |
# File 'lib/vagrant-skytap/action/prepare_nfs_settings.rb', line 5 def machine @machine end |
Instance Method Details
#call(env) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/vagrant-skytap/action/prepare_nfs_settings.rb', line 13 def call(env) @machine = env[:machine] if using_nfs? env[:nfs_host_ip] = read_host_ip env[:nfs_machine_ip] = read_machine_ip end @app.call(env) end |
#read_host_ip ⇒ Object
Returns the IP address of the host, preferring one on an interface which the client can route to.
30 31 32 33 34 35 36 37 |
# File 'lib/vagrant-skytap/action/prepare_nfs_settings.rb', line 30 def read_host_ip UDPSocket.open do |s| s.connect(machine.ssh_info[:host], 1) s.addr.last end.tap do |ret| @logger.debug "read_host_ip returning #{ret}" end end |
#read_machine_ip ⇒ Object
39 40 41 |
# File 'lib/vagrant-skytap/action/prepare_nfs_settings.rb', line 39 def read_machine_ip machine.ssh_info[:host] end |
#using_nfs? ⇒ Boolean
24 25 26 |
# File 'lib/vagrant-skytap/action/prepare_nfs_settings.rb', line 24 def using_nfs? @machine.config.vm.synced_folders.any? { |_, opts| opts[:type] == :nfs } end |