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
408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 |
# File 'lib/rbind/generator_ruby.rb', line 408 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
442 443 444 445 446 447 448 449 |
# File 'lib/rbind/generator_ruby.rb', line 442 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
424 425 426 427 |
# File 'lib/rbind/generator_ruby.rb', line 424 def add_specialize_ruby str = specialize_ruby " #{str}\n" if str end |
#binding ⇒ Object
451 452 453 |
# File 'lib/rbind/generator_ruby.rb', line 451 def binding Kernel.binding end |
#cname ⇒ Object
404 405 406 |
# File 'lib/rbind/generator_ruby.rb', line 404 def cname GeneratorRuby.normalize_method_name(__getobj__.cname) end |
#generate_param_doc ⇒ Object
429 430 431 432 433 434 435 436 437 438 439 440 |
# File 'lib/rbind/generator_ruby.rb', line 429 def generate_param_doc paras = parameters.map do |p| n = GeneratorRuby.normalize_arg_name p.name t = GeneratorRuby.normalize_type_name(p.type.full_name) "# @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
346 347 348 349 350 351 352 353 |
# File 'lib/rbind/generator_ruby.rb', line 346 def min_number_of_parameters count = 0 parameters.each do |p| break if p.default_value count +=1 end count end |
#name ⇒ Object
386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 |
# File 'lib/rbind/generator_ruby.rb', line 386 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
355 356 357 358 359 360 361 362 363 364 |
# File 'lib/rbind/generator_ruby.rb', line 355 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
377 378 379 380 381 382 383 384 |
# File 'lib/rbind/generator_ruby.rb', line 377 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
366 367 368 369 370 371 372 373 374 375 |
# File 'lib/rbind/generator_ruby.rb', line 366 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 |