class Explainer
Attributes
expression_map[RW]
Public Class Methods
inherited(sub_klass)
click to toggle source
# File lib/utils/kube_config_parser/explainer.rb, line 11 def self.inherited(sub_klass) sub_klass.class_eval do def self.register_expression(reg_exp) Explainer.expression_map[reg_exp] = self end end end
new(paragraph)
click to toggle source
# File lib/utils/kube_config_parser/explainer.rb, line 19 def initialize(paragraph) @paragraph = paragraph end
register_expression(reg_exp)
click to toggle source
# File lib/utils/kube_config_parser/explainer.rb, line 13 def self.register_expression(reg_exp) Explainer.expression_map[reg_exp] = self end
Public Instance Methods
explain(lines)
click to toggle source
# File lib/utils/kube_config_parser/explainer.rb, line 23 def explain(lines) new_lines = [] while not lines.empty? line = lines[0] matched_explainer_expression = self.class.expression_map.keys.find do |key| line.match(key) end if matched_explainer_expression matched_explainer = self.class.expression_map[matched_explainer_expression] lines = matched_explainer.handle(lines) else new_lines << lines.shift end end return new_lines end