Sha256: ccdb1caf386edf483f0a6b5b4894f493dfc935db2d553182b2230957528c0c3a

Contents?: true

Size: 982 Bytes

Versions: 1

Compression:

Stored size: 982 Bytes

Contents

require 'pathname'
require_relative 'freighthop/version'
require_relative 'freighthop/config'

unless defined? Vagrant
  raise "i expect to be required from a Vagrantfile"
end

module Freighthop
  class << self
    def vmware?
      !!(defined? HashiCorp)
    end

    def host_root
      Pathname.pwd
    end

    def guest_root
      Pathname("/srv/#{app_name}")
    end

    def app_name
      @app_name ||= host_root.basename.to_s
    end

    def hostname
      "#{app_name}.vagrant.dev"
    end

    def ip_address
      "10.20.1.#{app_name.getbyte(0)}"
    end

    def box_url
      if vmware?
        'http://files.vagrantup.com/precise64_vmware.box'
      else
        'http://files.vagrantup.com/precise64.box'
      end
    end

    def mounts
      Freighthop::Config.fetch("freighthop::mounts").map do |host, guest|
        [
          File.expand_path(host_root.join(host)),
          File.expand_path(guest_root.join(guest)),
        ]
      end
    end
  end
end


Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
freighthop-0.0.4 lib/freighthop.rb