Class: Rbind::GeneratorRuby::RTypeTemplateHelper

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

Instance Attribute Summary

Attributes included from Logger

#log

Instance Method Summary collapse

Methods inherited from HelperBase

#binding, #full_name

Methods included from Logger

extend_object

Constructor Details

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

Returns a new instance of RTypeTemplateHelper.



416
417
418
419
# File 'lib/rbind/generator_ruby.rb', line 416

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



429
430
431
# File 'lib/rbind/generator_ruby.rb', line 429

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

#add_specializing(root = @root) ⇒ Object



433
434
435
# File 'lib/rbind/generator_ruby.rb', line 433

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

#cnameObject



425
426
427
# File 'lib/rbind/generator_ruby.rb', line 425

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

#nameObject



421
422
423
# File 'lib/rbind/generator_ruby.rb', line 421

def name
    GeneratorRuby.normalize_type_name(@name)
end

#resultObject



437
438
439
440
441
442
# File 'lib/rbind/generator_ruby.rb', line 437

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