class Caf < ApplicationRecord after_create :populate_caf_info belongs_to :company has_many :objectives, dependent: :destroy validates :name, presence: true validates :name, uniqueness: { scope: :company_id, message: "should be unique to the company"} private def populate_caf_info file = YAML.load_file(Rails.root.to_s + '/config/caf_text.yml') objectives = file["objectives"] objectives.each do |objective| objective_info = objective["objective"] #

<%= objective_info["name"] %>
<%= objective_info["description"] %>

obj = self.objectives.create(name: objective_info["name"], description: objective_info["description"] ) principles = objective_info["principles"] principles.each do |principle| principle_info = principle["principle"] #

<%= principle_info["name"] %>
<%= principle_info["description"]%>

pri = obj.principles.create(name: principle_info["name"], description: principle_info["description"]) sub_principles = principle_info["sub-principles"] sub_principles.each do |sub_principle| sub_principle_info = sub_principle["sub-principle"] #

<%= sub_principle_info["name"]%>
<%= sub_principle_info["description"]%>

subpri = pri.subprinciples.create(name: sub_principle_info["name"], description: sub_principle_info["description"] ) sub_principle_item_groups = sub_principle_info["subprincipleitemgroups"] sub_principle_item_groups.each do |key,value| header = key["subprincipleitemgroup"] # <%= header["type"] %> - <%= header["condition"] %>
subpriitemgroup = subpri.subprincipleitemgroups.create(type: header["type"], condition: header["condition"]) subprincipleitem = header["subprincipleitem"] subprincipleitem.each do |subprinciple| # <%= subprinciple %>
subpriitemgroup.subprinciples.create(description: subprinciple) end end end end end end end