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.



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

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



436
437
438
# File 'lib/rbind/generator_ruby.rb', line 436

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

#add_specializing(root = @root) ⇒ Object



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

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

#cnameObject



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

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

#nameObject



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

def name
    GeneratorRuby.normalize_type_name(@name)
end

#resultObject



444
445
446
447
448
449
# File 'lib/rbind/generator_ruby.rb', line 444

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