vagrant-ebcommon 0.4.3 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Vagrantfile +2 -2
- data/lib/vagrant-ebcommon/actions/setup_provision.rb +8 -7
- data/lib/vagrant-ebcommon/config.rb +11 -7
- data/lib/vagrant-ebcommon/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8ea352a431f45e190c9272fd34568584e4ba2b08
         | 
| 4 | 
            +
              data.tar.gz: 6a01faa03b7b5efbcbaf24b187c9e672c44fabfa
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: fc467c96c01dd841294c21a9d3bf8d2c9dae0dd8126cdc9c80fc4b3820c1d084a50d84d8c39359eba0abefcc27c289abb001b37757ef7f0281037f9163733337
         | 
| 7 | 
            +
              data.tar.gz: e7e6826879b09515959e7bccc8a93067f0d7fb0e2b9a920edce6a38594203c7d30cf1b00ca4999b7f5138b71234f34b33fbf10e1ff623703112b9c54b24b47e1
         | 
    
        data/Vagrantfile
    CHANGED
    
    | @@ -7,9 +7,9 @@ Vagrant.configure('2') do |config| | |
| 7 7 | 
             
              config.vm.box_url = 'http://files.vagrantup.com/precise64.box'
         | 
| 8 8 |  | 
| 9 9 | 
             
              config.ebcommon.vpn_urls = [
         | 
| 10 | 
            -
                ' | 
| 11 | 
            -
                'https://reviews.evbhome.com',
         | 
| 10 | 
            +
                'http://packages',
         | 
| 12 11 | 
             
              ]
         | 
| 12 | 
            +
              config.ebcommon.vpn_timeout = 3
         | 
| 13 13 | 
             
              config.ebcommon.git_hook_root_dir = '/Volumes/eb_home/work'
         | 
| 14 14 | 
             
              config.ebcommon.git_hook_repos = [
         | 
| 15 15 | 
             
                'vagrant-ebcommon',
         | 
| @@ -63,13 +63,13 @@ module VagrantPlugins | |
| 63 63 | 
             
                    # internally and everything will fail miserably if you're not on our
         | 
| 64 64 | 
             
                    # network.
         | 
| 65 65 | 
             
                    def ensure_vpn
         | 
| 66 | 
            -
                      if  | 
| 66 | 
            +
                      if !ENV['FORCE_PROVISION'] && @ebcommon.vpn_urls
         | 
| 67 67 | 
             
                        vpn_valid = false
         | 
| 68 68 | 
             
                        @ebcommon.vpn_urls.each { |url|
         | 
| 69 | 
            -
                          vpn_valid =  | 
| 69 | 
            +
                          vpn_valid = test_url_timeout url, @ebcommon.vpn_timeout
         | 
| 70 70 | 
             
                          break if vpn_valid
         | 
| 71 71 | 
             
                        }
         | 
| 72 | 
            -
                        if  | 
| 72 | 
            +
                        if !vpn_valid
         | 
| 73 73 | 
             
                          raise Ebcommon::Errors::VPNRequired.new
         | 
| 74 74 | 
             
                        end
         | 
| 75 75 | 
             
                        @env[:ui].success 'VPN connection verified, continuing provision.'
         | 
| @@ -93,7 +93,7 @@ module VagrantPlugins | |
| 93 93 | 
             
                          end
         | 
| 94 94 | 
             
                        end
         | 
| 95 95 | 
             
                      end
         | 
| 96 | 
            -
                      if  | 
| 96 | 
            +
                      if !contents.empty?
         | 
| 97 97 | 
             
                        creds = JSON.parse contents
         | 
| 98 98 | 
             
                      end
         | 
| 99 99 | 
             
                      return creds
         | 
| @@ -139,7 +139,7 @@ module VagrantPlugins | |
| 139 139 | 
             
                        email = @env[:ui].ask 'Enter your eventbrite email: '
         | 
| 140 140 | 
             
                        write_git_commiter_details(full_name, email)
         | 
| 141 141 | 
             
                      end
         | 
| 142 | 
            -
                      if  | 
| 142 | 
            +
                      if !full_name.empty? || !email.empty?
         | 
| 143 143 | 
             
                        @env[:ui].success "Will setup global github details in vagrant."\
         | 
| 144 144 | 
             
                          " Full Name: #{full_name}, Email: #{email}"
         | 
| 145 145 | 
             
                      end
         | 
| @@ -168,10 +168,11 @@ module VagrantPlugins | |
| 168 168 |  | 
| 169 169 | 
             
                    private
         | 
| 170 170 |  | 
| 171 | 
            -
                       | 
| 171 | 
            +
                      # Test that a URL is responding something given a timeout in seconds.
         | 
| 172 | 
            +
                      def test_url_timeout(url, timeout)
         | 
| 172 173 | 
             
                        uri = URI(url)
         | 
| 173 174 | 
             
                        begin
         | 
| 174 | 
            -
                          timeout( | 
| 175 | 
            +
                          timeout(timeout) do
         | 
| 175 176 | 
             
                            s = TCPSocket.new(uri.host, uri.port)
         | 
| 176 177 | 
             
                            s.close
         | 
| 177 178 | 
             
                          end
         | 
| @@ -2,17 +2,20 @@ module VagrantPlugins | |
| 2 2 | 
             
              module Ebcommon
         | 
| 3 3 | 
             
                class Config < Vagrant.plugin(2, :config)
         | 
| 4 4 | 
             
                  attr_accessor :vpn_urls
         | 
| 5 | 
            +
                  attr_accessor :vpn_timeout
         | 
| 5 6 | 
             
                  attr_accessor :git_hook_repos
         | 
| 6 7 | 
             
                  attr_accessor :git_hook_root_dir
         | 
| 7 8 |  | 
| 8 9 | 
             
                  def initialize
         | 
| 9 10 | 
             
                    @vpn_urls = UNSET_VALUE
         | 
| 11 | 
            +
                    @vpn_timeout = UNSET_VALUE
         | 
| 10 12 | 
             
                    @git_hook_repos = UNSET_VALUE
         | 
| 11 13 | 
             
                    @git_hook_root_dir = UNSET_VALUE
         | 
| 12 14 | 
             
                  end
         | 
| 13 15 |  | 
| 14 16 | 
             
                  def finalize!
         | 
| 15 17 | 
             
                    @vpn_urls = nil if @vpn_urls == UNSET_VALUE
         | 
| 18 | 
            +
                    @vpn_timeout = 5 if @vpn_timeout == UNSET_VALUE
         | 
| 16 19 | 
             
                    @git_hook_repos = nil if @git_hook_repos == UNSET_VALUE
         | 
| 17 20 | 
             
                    @git_hook_root_dir = nil if @git_hook_root_dir == UNSET_VALUE
         | 
| 18 21 | 
             
                  end
         | 
| @@ -20,23 +23,24 @@ module VagrantPlugins | |
| 20 23 | 
             
                  def validate(machine)
         | 
| 21 24 | 
             
                    errors = []
         | 
| 22 25 | 
             
                    if @vpn_urls
         | 
| 23 | 
            -
                      if  | 
| 26 | 
            +
                      if !@vpn_urls.is_a?(Array)
         | 
| 24 27 | 
             
                        errors << '`vpn_urls` must be a list of urls to test vpn connection'
         | 
| 25 28 | 
             
                      else
         | 
| 26 29 | 
             
                        @vpn_urls.each { |url|
         | 
| 27 30 | 
             
                          uri = URI(url)
         | 
| 28 | 
            -
                          if  | 
| 31 | 
            +
                          if !(uri.host && uri.port)
         | 
| 29 32 | 
             
                            errors << "`vpn_urls` must be a list of urls: '#{url}' is not valid."
         | 
| 30 33 | 
             
                          end
         | 
| 31 34 | 
             
                        }
         | 
| 32 35 | 
             
                      end
         | 
| 33 36 | 
             
                    end
         | 
| 34 | 
            -
                    if @ | 
| 35 | 
            -
                       | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 37 | 
            +
                    if @vpn_timeout && !@vpn_timeout.is_a?(Integer)
         | 
| 38 | 
            +
                      errors << '`vpn_timeout` must be an integer which represents the timeout in seconds to wait'
         | 
| 39 | 
            +
                    end
         | 
| 40 | 
            +
                    if @git_hook_repos && !@git_hook_repos.is_a?(Array)
         | 
| 41 | 
            +
                      errors << '`git_hook_repos` must be a list of paths to copy hooks to'
         | 
| 38 42 | 
             
                    end
         | 
| 39 | 
            -
                    if @git_hook_repos  | 
| 43 | 
            +
                    if @git_hook_repos && !@git_hook_root_dir
         | 
| 40 44 | 
             
                      errors << '`git_hook_root_dir` must be set to the directory containing directories in `git_hook_repos`'
         | 
| 41 45 | 
             
                    end
         | 
| 42 46 | 
             
                    return { 'ebcommon' => errors }
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: vagrant-ebcommon
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.4. | 
| 4 | 
            +
              version: 0.4.4
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Michael Hahn
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-05- | 
| 11 | 
            +
            date: 2014-05-19 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |