Module: Construqt::Flavour

Defined in:
lib/construqt/flavour/flavour.rb,
lib/construqt/flavour/delegates.rb,
lib/construqt/flavour/ciscian/ciscian.rb,
lib/construqt/flavour/unknown/unknown.rb,
lib/construqt/flavour/plantuml/plantuml.rb,
lib/construqt/flavour/ubuntu/flavour_ubuntu.rb,
lib/construqt/flavour/ciscian/dialect_hp-2510g.rb,
lib/construqt/flavour/mikrotik/flavour_mikrotik.rb,
lib/construqt/flavour/ubuntu/flavour_ubuntu_bgp.rb,
lib/construqt/flavour/ubuntu/flavour_ubuntu_dns.rb,
lib/construqt/flavour/ubuntu/flavour_ubuntu_opvn.rb,
lib/construqt/flavour/ubuntu/flavour_ubuntu_vrrp.rb,
lib/construqt/flavour/ubuntu/flavour_ubuntu_ipsec.rb,
lib/construqt/flavour/ubuntu/flavour_ubuntu_result.rb,
lib/construqt/flavour/ciscian/dialect_dlink-dgs15xx.rb,
lib/construqt/flavour/mikrotik/flavour_mikrotik_bgp.rb,
lib/construqt/flavour/ubuntu/flavour_ubuntu_firewall.rb,
lib/construqt/flavour/ubuntu/flavour_ubuntu_services.rb,
lib/construqt/flavour/mikrotik/flavour_mikrotik_ipsec.rb,
lib/construqt/flavour/mikrotik/flavour_mikrotik_result.rb,
lib/construqt/flavour/mikrotik/flavour_mikrotik_schema.rb,
lib/construqt/flavour/mikrotik/flavour_mikrotik_interface.rb

Defined Under Namespace

Modules: Ciscian, Delegate, Mikrotik, Plantuml, Ubuntu, Unknown Classes: BgpDelegate, BondDelegate, BridgeDelegate, DeviceDelegate, FlavourDelegate, GreDelegate, HostDelegate, InterfaceDelegate, IpsecDelegate, OpvnDelegate, TemplateDelegate, VlanDelegate, VrrpDelegate

Class Method Summary collapse

Class Method Details

.add(flavour) ⇒ Object



75
76
77
78
# File 'lib/construqt/flavour/flavour.rb', line 75

def self.add(flavour)
  Construqt.logger.info "setup flavour #{flavour.name}"
  @flavours[flavour.name.downcase] = FlavourDelegate.new(flavour)
end

.add_aspect(aspect) ⇒ Object



81
82
83
84
# File 'lib/construqt/flavour/flavour.rb', line 81

def self.add_aspect(aspect)
  Construqt.logger.info "setup aspect #{aspect.name}"
  @aspects << aspect
end

.call_aspects(type, *args) ⇒ Object



90
91
92
# File 'lib/construqt/flavour/flavour.rb', line 90

def self.call_aspects(type, *args)
  @aspects.each { |aspect| aspect.call(type, *args) }
end

.del_aspect(aspect) ⇒ Object



86
87
88
# File 'lib/construqt/flavour/flavour.rb', line 86

def self.del_aspect(aspect)
  @aspects = @aspects.select{|a| a.name != aspect }
end

.find(name) ⇒ Object



94
95
96
97
98
# File 'lib/construqt/flavour/flavour.rb', line 94

def self.find(name)
  ret = @flavours[name.downcase]
  throw "flavour #{name} not found" unless ret
  ret
end

.parser(flavour, dialect, prefix = nil) ⇒ Object



100
101
102
# File 'lib/construqt/flavour/flavour.rb', line 100

def self.parser(flavour, dialect, prefix = nil)
  @flavours[flavour].flavour::Result.new(OpenStruct.new(:dialect => dialect, :fname => prefix, :interfaces => {}))
end