Module: Mystro::Dsl

Defined in:
lib/mystro/dsl.rb

Defined Under Namespace

Classes: Balancer, Base, Compute, Health, Listener, Template, TemplateFile, Volume

Class Method Summary collapse

Class Method Details

.actions(name) ⇒ Object



28
29
30
31
32
# File 'lib/mystro/dsl.rb', line 28

def actions(name)
  tf = get(name)
  t = tf[:template]
  t.actions
end

.get(name) ⇒ Object



10
11
12
13
14
# File 'lib/mystro/dsl.rb', line 10

def get(name)
  n = name.to_sym
  raise "no template named #{name}" unless @templates[n]
  @templates[n]
end

.load(file) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/mystro/dsl.rb', line 16

def load(file)
  @templates ||= {}
  file = File.expand_path(file)
  name = File.basename(file).gsub(/\.rb$/, "").to_sym
  raise "file: '#{file}' does not exist" unless File.exist?(file)
  @templates[name] ||= begin
    t = Mystro::Dsl::TemplateFile.new(file)
    t.instance_eval(File.read(file), "#{file}:[TemplateFile]")
    t
  end
end