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.



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

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



452
453
454
# File 'lib/rbind/generator_ruby.rb', line 452

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

#add_specializing(root = @root) ⇒ Object



456
457
458
# File 'lib/rbind/generator_ruby.rb', line 456

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

#cnameObject



448
449
450
# File 'lib/rbind/generator_ruby.rb', line 448

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

#nameObject



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

def name
    GeneratorRuby.normalize_type_name(@name)
end

#resultObject



460
461
462
463
464
465
# File 'lib/rbind/generator_ruby.rb', line 460

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