Class: Rbind::GeneratorRuby::RTypeTemplateHelper

Inherits:
HelperBase
  • Object
show all
Defined in:
lib/rbind/generator_ruby.rb

Instance Method Summary collapse

Methods inherited from HelperBase

#binding, #full_name

Constructor Details

#initialize(name, root, compact_namespace = false) ⇒ RTypeTemplateHelper

Returns a new instance of RTypeTemplateHelper.



315
316
317
318
# File 'lib/rbind/generator_ruby.rb', line 315

def initialize(name, root,compact_namespace = false)
    @type_template_wrapper = ERB.new(File.open(File.join(File.dirname(__FILE__),"templates","ruby","rtype_template.rb")).read,nil,"-")
    super(name,root)
end

Instance Method Details

#add_docObject



328
329
330
# File 'lib/rbind/generator_ruby.rb', line 328

def add_doc
    str = GeneratorRuby::normalize_doc(@root.doc)
end

#add_specializing(root = @root) ⇒ Object



332
333
334
# File 'lib/rbind/generator_ruby.rb', line 332

def add_specializing(root = @root)
    root.specialize_ruby
end

#cnameObject



324
325
326
# File 'lib/rbind/generator_ruby.rb', line 324

def cname
    GeneratorRuby.normalize_type_name(@root.cname)
end

#nameObject



320
321
322
# File 'lib/rbind/generator_ruby.rb', line 320

def name
    GeneratorRuby.normalize_type_name(@name)
end

#resultObject



336
337
338
339
340
341
# File 'lib/rbind/generator_ruby.rb', line 336

def result
    return "" if @root.extern?
    str = @type_template_wrapper.result(self.binding)
    str.gsub!("\n","\n    ").gsub!("    \n","\n")
    "    "+str[0,str.size-4]
end