class Krane::TemplateSets
Constants
- VALID_TEMPLATES
Public Class Methods
from_dirs_and_files(paths:, logger:)
click to toggle source
# File lib/krane/template_sets.rb, line 86 def from_dirs_and_files(paths:, logger:) resource_templates = {} dir_paths, file_paths = paths.partition { |path| File.directory?(path) } # Directory paths dir_paths.each do |template_dir| resource_templates[template_dir] = Dir.foreach(template_dir).select do |filename| filename.end_with?(*VALID_TEMPLATES) || filename == EjsonSecretProvisioner::EJSON_SECRETS_FILE end end # Filename paths file_paths.each do |filename| dir_name = File.dirname(filename) resource_templates[dir_name] ||= [] resource_templates[dir_name] << File.basename(filename) unless resource_templates[dir_name].include?(filename) end template_sets = [] resource_templates.each do |template_dir, files| template_sets << TemplateSet.new(template_dir: template_dir, file_whitelist: files, logger: logger) end TemplateSets.new(template_sets: template_sets) end
new(template_sets: [])
click to toggle source
# File lib/krane/template_sets.rb, line 142 def initialize(template_sets: []) @template_sets = template_sets end
Public Instance Methods
ejson_secrets_files()
click to toggle source
# File lib/krane/template_sets.rb, line 132 def ejson_secrets_files @template_sets.map(&:ejson_secrets_file).compact end
validate()
click to toggle source
# File lib/krane/template_sets.rb, line 136 def validate @template_sets.flat_map(&:validate) end
with_resource_definitions(render_erb: false, current_sha: nil, bindings: nil, raw: false) { |r_def| ... }
click to toggle source
# File lib/krane/template_sets.rb, line 125 def with_resource_definitions(render_erb: false, current_sha: nil, bindings: nil, raw: false) with_resource_definitions_and_filename(render_erb: render_erb, current_sha: current_sha, bindings: bindings, raw: raw) do |r_def, _| yield r_def end end
with_resource_definitions_and_filename(render_erb: false, current_sha: nil, bindings: nil, raw: false) { |r_def, filename| ... }
click to toggle source
# File lib/krane/template_sets.rb, line 112 def with_resource_definitions_and_filename(render_erb: false, current_sha: nil, bindings: nil, raw: false) with_delayed_exceptions(@template_sets, Krane::InvalidTemplateError) do |template_set| template_set.with_resource_definitions_and_filename( render_erb: render_erb, current_sha: current_sha, bindings: bindings, raw: raw ) do |r_def, filename| yield r_def, filename end end end