Class: Rbind::GeneratorRuby::RTypeHelper::OperationHelper
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- Rbind::GeneratorRuby::RTypeHelper::OperationHelper
- Defined in:
- lib/rbind/generator_ruby.rb
Instance Method Summary collapse
- #add_alias ⇒ Object
- #add_doc ⇒ Object
- #add_specialize_ruby ⇒ Object
- #binding ⇒ Object
- #cname ⇒ Object
- #generate_param_doc ⇒ Object
- #min_number_of_parameters ⇒ Object
- #name ⇒ Object
- #signature_default_values ⇒ Object
- #wrap_parameters_call ⇒ Object
- #wrap_parameters_signature ⇒ Object
Instance Method Details
#add_alias ⇒ Object
507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 |
# File 'lib/rbind/generator_ruby.rb', line 507 def add_alias name = if auto_alias __getobj__.name else __getobj__.alias || __getobj__.name end name = GeneratorRuby::normalize_alias_method_name(name) if name == self.name || !cplusplus_alias? nil elsif static? " class << self; alias :#{name} :#{self.name}; end\n" else " alias :#{name} :#{self.name}\n" end end |
#add_doc ⇒ Object
545 546 547 548 549 550 551 552 |
# File 'lib/rbind/generator_ruby.rb', line 545 def add_doc str = GeneratorRuby::normalize_doc(doc) str = if !parameters.empty? || return_type str += "#\n" if str "#{str}#{generate_param_doc}" end str.gsub(/^/," ") if str end |
#add_specialize_ruby ⇒ Object
523 524 525 526 |
# File 'lib/rbind/generator_ruby.rb', line 523 def add_specialize_ruby str = specialize_ruby " #{str}\n" if str end |
#binding ⇒ Object
554 555 556 |
# File 'lib/rbind/generator_ruby.rb', line 554 def binding Kernel.binding end |
#cname ⇒ Object
503 504 505 |
# File 'lib/rbind/generator_ruby.rb', line 503 def cname GeneratorRuby.normalize_method_name(__getobj__.cname) end |
#generate_param_doc ⇒ Object
528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 |
# File 'lib/rbind/generator_ruby.rb', line 528 def generate_param_doc paras = parameters.map do |p| n = GeneratorRuby.normalize_arg_name p.name t = if p.type.basic_type? && (p.type.ptr? || p.type.ref?) "FFI::MemoryPointer" else GeneratorRuby.normalize_type_name(p.type.full_name) end "# @param [#{t}] #{n} #{p.doc}" end if return_type t = GeneratorRuby.normalize_type_name(return_type.full_name) paras << "# @return [#{t}]" end paras.join("\n")+"\n" end |
#min_number_of_parameters ⇒ Object
445 446 447 448 449 450 451 452 |
# File 'lib/rbind/generator_ruby.rb', line 445 def min_number_of_parameters count = 0 parameters.each do |p| break if p.default_value count +=1 end count end |
#name ⇒ Object
485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 |
# File 'lib/rbind/generator_ruby.rb', line 485 def name if attribute? name = GeneratorRuby.normalize_method_name(attribute.name) if __getobj__.is_a? RGetter name else "#{name}=" end else name = if auto_alias __getobj__.name else __getobj__.alias || __getobj__.name end GeneratorRuby.normalize_method_name(name) end end |
#signature_default_values ⇒ Object
454 455 456 457 458 459 460 461 462 463 |
# File 'lib/rbind/generator_ruby.rb', line 454 def signature_default_values str = parameters.map do |p| if p.default_value GeneratorRuby.normalize_default_value p else "nil" end end.join(", ") "[#{str}]" end |
#wrap_parameters_call ⇒ Object
476 477 478 479 480 481 482 483 |
# File 'lib/rbind/generator_ruby.rb', line 476 def wrap_parameters_call paras = [] paras << "self" if instance_method? paras += parameters.map do |p| GeneratorRuby.normalize_arg_name p.name end paras.join(", ") end |
#wrap_parameters_signature ⇒ Object
465 466 467 468 469 470 471 472 473 474 |
# File 'lib/rbind/generator_ruby.rb', line 465 def wrap_parameters_signature parameters.map do |p| n = GeneratorRuby.normalize_arg_name p.name if p.default_value "#{n} = #{GeneratorRuby.normalize_default_value p}" else n end end.join(", ") end |