Class: LogicalConstruct::SSHTunnel
- Inherits:
-
Mattock::Tasklib
- Object
- Mattock::Tasklib
- LogicalConstruct::SSHTunnel
show all
- Defined in:
- lib/logical-construct/protocol/ssh-tunnel.rb
Defined Under Namespace
Classes: CancelTask, CreateSSHMaster, CreateTunnel, OpenPortTask
Instance Method Summary
collapse
Instance Method Details
#define ⇒ Object
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
# File 'lib/logical-construct/protocol/ssh-tunnel.rb', line 101
def define
in_namespace do
open_port = OpenPortTask.define_task do |open_port|
self.local_target_port = open_port.configure_discovery(local_target_port)
end
master = CreateSSHMaster.define_task(self) do |master|
copy_settings_to(master)
end
create = CreateTunnel.define_task(self) do |create|
copy_settings_to(create)
end
cancel = CancelTask.define_task(self) do |cancel|
copy_settings_to(cancel)
end
task_spine create.task_name, :close_tunnel, :run
task master.task_name => open_port.task_name
task create.task_name => master.task_name
task :close_tunnel => cancel.task_name
end
end
|
#resolve_configuration ⇒ Object
90
91
92
93
94
|
# File 'lib/logical-construct/protocol/ssh-tunnel.rb', line 90
def resolve_configuration
self.local_target_port ||= target_port
self.remote_target_port ||= target_port
super
end
|
#wrap(task_name) ⇒ Object
96
97
98
99
|
# File 'lib/logical-construct/protocol/ssh-tunnel.rb', line 96
def wrap(task_name)
task task_name => self[:create_tunnel]
task self[:cancel_tunnel] => task_name
end
|