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