class Hyrb::Models::AnsibleSite

Attributes

hosts[RW]
roles[RW]
vars_prompt[RW]

Public Class Methods

new(project, environment) click to toggle source
# File lib/hyrb/models/ansible_site.rb, line 17
def initialize(project, environment)
  @path = File.join(project.ansible_path, environment.label)
  @raw_playbook = load_config_file[0]
  @data = deserialize(@raw_playbook)

  @vars_prompt = @raw_playbook["vars_prompt"]
  @roles       = @raw_playbook["roles"]
  @hosts       = @raw_playbook["hosts"]
end

Public Instance Methods

deserialize(data) click to toggle source
# File lib/hyrb/models/ansible_site.rb, line 41
def deserialize(data)
  data["vars"].reduce(Hash.new, :merge)
end
load_config_file() click to toggle source
Calls superclass method Hyrb::Model#load_config_file
# File lib/hyrb/models/ansible_site.rb, line 27
def load_config_file
  super || YAML.load_file("#{TEMPLATE_PATH}/ansible/site.yml")
end
serialize(data) click to toggle source
# File lib/hyrb/models/ansible_site.rb, line 31
def serialize(data)
  # yuck, this is no longer a pure fn
  @raw_playbook["vars_prompt"] = vars_prompt
  @raw_playbook["roles"]       = roles
  @raw_playbook["hosts"]       = hosts
  
  @raw_playbook["vars"] = @data.map { |k, v| {k.to_s => v} }
  [@raw_playbook]
end