class Havox::DSL::DirectiveProxy
Public Instance Methods
associate(router, switch)
click to toggle source
# File lib/havox/dsl/directive_proxy.rb, line 18 def associate(router, switch) Havox::Network.devices[router.to_s] = switch.to_s end
exit(switch, &block)
click to toggle source
# File lib/havox/dsl/directive_proxy.rb, line 4 def exit(switch, &block) eval_directive(:exit, switch, &block) end
topology(file_path)
click to toggle source
def drop(&block)
eval_directive(:drop, nil, &block)
end
# File lib/havox/dsl/directive_proxy.rb, line 12 def topology(file_path) raise_invalid_topology(file_path) unless File.exists?(file_path) topo = Havox::Topology.new(file_path) Havox::Network.topology = topo end
Private Instance Methods
eval_directive(type, switch, &block)
click to toggle source
# File lib/havox/dsl/directive_proxy.rb, line 24 def eval_directive(type, switch, &block) directive = Havox::DSL::Directive.new(type, switch) directive.instance_eval(&block) Havox::Network.directives << directive end
raise_invalid_topology(file_path)
click to toggle source
# File lib/havox/dsl/directive_proxy.rb, line 30 def raise_invalid_topology(file_path) raise Havox::Network::InvalidTopology, "invalid topology file '#{file_path}'" end