Method: ChefApply::Text::TextWrapper#initialize
- Defined in:
- lib/chef_apply/text/text_wrapper.rb
#initialize(translation_tree) ⇒ TextWrapper
Returns a new instance of TextWrapper.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/chef_apply/text/text_wrapper.rb', line 25 def initialize(translation_tree) @tree = translation_tree @tree.translation_keys.each do |k| # Integer keys are not translatable - they're quantity indicators in the key that # are instead sent as arguments. If we see one here, it means it was not correctly # labeled as plural with !!pl in the parent key if k.class == Integer raise MissingPlural.new(@tree.instance_variable_get(:@path), k) end k = k.to_sym define_singleton_method k do |*args| subtree = @tree.send(k, *args) if subtree.translation_keys.empty? # If there are no more possible children, just return the translated value subtree.to_s else TextWrapper.new(subtree) end end end end |