tunnel-vmc-plugin 0.0.1 → 0.1.0

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.
@@ -4,43 +4,25 @@ require File.expand_path("../tunnel", __FILE__)
4
4
  VMC.Plugin(VMC::Service) do
5
5
  include VMCTunnel
6
6
 
7
- desc "tunnel SERVICE [CLIENT]", "create a local tunnel to a service"
7
+ desc "tunnel [SERVICE] [CLIENT]", "Create a local tunnel to a service."
8
+ group :services, :manage
8
9
  flag(:service) { |choices|
9
10
  ask("Which service?", :choices => choices)
10
11
  }
11
12
  flag(:client)
12
13
  flag(:port, :default => 10000)
13
14
  def tunnel(service = nil, client_name = nil)
14
- unless defined? Caldecott
15
- $stderr.puts "To use `vmc tunnel', you must first install Caldecott:"
16
- $stderr.puts ""
17
- $stderr.puts "\tgem install caldecott"
18
- $stderr.puts ""
19
- $stderr.puts "Note that you'll need a C compiler. If you're on OS X, Xcode"
20
- $stderr.puts "will provide one. If you're on Windows, try DevKit."
21
- $stderr.puts ""
22
- $stderr.puts "This manual step will be removed in the future."
23
- $stderr.puts ""
24
- err "Caldecott is not installed."
25
- return
26
- end
27
-
28
15
  client_name ||= input(:client)
29
16
 
30
17
  services = client.services
31
- if services.empty?
32
- err "No services available to tunnel to"
33
- return
34
- end
18
+
19
+ fail "No services available for tunneling." if services.empty?
35
20
 
36
21
  service ||= input(:service, services.collect(&:name).sort)
37
22
 
38
23
  info = services.find { |s| s.name == service }
39
24
 
40
- unless info
41
- err "Unknown service '#{service}'"
42
- return
43
- end
25
+ fail "Unknown service '#{service}'" unless info
44
26
 
45
27
  clients = tunnel_clients[info.vendor] || {}
46
28
 
@@ -80,7 +62,7 @@ VMC.Plugin(VMC::Service) do
80
62
  end
81
63
 
82
64
  unless start_local_prog(clients, client_name, conn_info, port)
83
- err "'#{client_name}' execution failed; is it in your $PATH?"
65
+ fail "'#{client_name}' execution failed; is it in your $PATH?"
84
66
  end
85
67
  end
86
68
  end
@@ -1,9 +1,7 @@
1
1
  require "addressable/uri"
2
2
 
3
- begin
4
- require "caldecott"
5
- rescue LoadError
6
- end
3
+ require "caldecott"
4
+
7
5
 
8
6
  class CFTunnel
9
7
  HELPER_NAME = "caldecott"
@@ -1,3 +1,3 @@
1
1
  module VMCTunnel
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,101 +1,121 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: tunnel-vmc-plugin
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Alex Suraci
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-05-23 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2012-05-30 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: addressable
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: 2.2.6
22
- type: :runtime
23
22
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: &id001 !ruby/object:Gem::Requirement
25
24
  none: false
26
- requirements:
25
+ requirements:
27
26
  - - ~>
28
- - !ruby/object:Gem::Version
27
+ - !ruby/object:Gem::Version
28
+ hash: 11
29
+ segments:
30
+ - 2
31
+ - 2
32
+ - 6
29
33
  version: 2.2.6
30
- - !ruby/object:Gem::Dependency
31
- name: eventmachine
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ~>
36
- - !ruby/object:Gem::Version
37
- version: 1.0.0.beta
38
34
  type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: eventmachine
39
38
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
39
+ requirement: &id002 !ruby/object:Gem::Requirement
41
40
  none: false
42
- requirements:
41
+ requirements:
43
42
  - - ~>
44
- - !ruby/object:Gem::Version
43
+ - !ruby/object:Gem::Version
44
+ hash: 31098193
45
+ segments:
46
+ - 1
47
+ - 0
48
+ - 0
49
+ - beta
45
50
  version: 1.0.0.beta
46
- - !ruby/object:Gem::Dependency
47
- name: caldecott
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ~>
52
- - !ruby/object:Gem::Version
53
- version: 0.0.5
54
51
  type: :runtime
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: caldecott
55
55
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
57
  none: false
58
- requirements:
58
+ requirements:
59
59
  - - ~>
60
- - !ruby/object:Gem::Version
60
+ - !ruby/object:Gem::Version
61
+ hash: 21
62
+ segments:
63
+ - 0
64
+ - 0
65
+ - 5
61
66
  version: 0.0.5
67
+ type: :runtime
68
+ version_requirements: *id003
62
69
  description:
63
- email:
70
+ email:
64
71
  - asuraci@vmware.com
65
72
  executables: []
73
+
66
74
  extensions: []
75
+
67
76
  extra_rdoc_files: []
68
- files:
77
+
78
+ files:
69
79
  - Rakefile
70
- - lib/tunnel-vmc-plugin/tunnel.rb
71
80
  - lib/tunnel-vmc-plugin/plugin.rb
81
+ - lib/tunnel-vmc-plugin/tunnel.rb
72
82
  - lib/tunnel-vmc-plugin/version.rb
83
+ - helper-app/Gemfile
73
84
  - helper-app/Gemfile.lock
74
85
  - helper-app/server.rb
75
- - helper-app/Gemfile
76
86
  - config/clients.yml
77
87
  homepage: http://cloudfoundry.com/
78
88
  licenses: []
89
+
79
90
  post_install_message:
80
91
  rdoc_options: []
81
- require_paths:
92
+
93
+ require_paths:
82
94
  - lib
83
- required_ruby_version: !ruby/object:Gem::Requirement
95
+ required_ruby_version: !ruby/object:Gem::Requirement
84
96
  none: false
85
- requirements:
86
- - - ! '>='
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
- required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ hash: 3
101
+ segments:
102
+ - 0
103
+ version: "0"
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
90
105
  none: false
91
- requirements:
92
- - - ! '>='
93
- - !ruby/object:Gem::Version
94
- version: '0'
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ hash: 3
110
+ segments:
111
+ - 0
112
+ version: "0"
95
113
  requirements: []
114
+
96
115
  rubyforge_project: tunnel-vmc-plugin
97
116
  rubygems_version: 1.8.23
98
117
  signing_key:
99
118
  specification_version: 3
100
119
  summary: External access to your services on Cloud Foundry via a Caldecott HTTP tunnel.
101
120
  test_files: []
121
+