def render(binding: nil, new_line: nil, indent: nil)
      self.lambda_binding = binding unless binding.nil? # backward compatibility

      run_vars = {
        Generator::NEW_LINE_NAME.to_sym => new_line,
        Generator::BASE_INDENT_NAME.to_sym => indent,
      }
      run_vars.reject! { |_key, value| value.nil? } # remove nil values

      lambda_instance.call(**run_vars)
    end
def render(binding: nil, new_line: nil, indent: nil)
      self.lambda_binding = binding unless binding.nil? # backward compatibility

      run_vars = {
        Generator::NEW_LINE_NAME.to_sym => new_line,
        Generator::BASE_INDENT_NAME.to_sym => indent,
      }
      run_vars.reject! { |_key, value| value.nil? } # remove nil values

      lambda_instance.call(**run_vars)
    end
----------------------------------------------------------------------------- 
 Render
 @param [Binding] binding  custom binding for evaluating the template, but it is not recommended to use,
                           use :locals and #with_locals instead
 @param [String] new_line  newline string, default is \n
 @param [String] indent  indent string, default is two spaces

 @return [String] rendered content of template