tunnel-vmc-plugin 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+