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.



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

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



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

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

#add_specializing(root = @root) ⇒ Object



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

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

#cnameObject



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

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

#nameObject



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

def name
    GeneratorRuby.normalize_type_name(@name)
end

#resultObject



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

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