module Kernel
encoding: utf-8
Constants
- Modules
Public Instance Methods
rdoba(*options)
click to toggle source
# File lib/rdoba.rb, line 6 def rdoba *options options.each do |option| ( option.is_a?( Hash ) && option || { option.to_s.to_sym => {} } ).each_pair do |key, value| if Modules.include? key require "rdoba/#{key}" if Rdoba.methods.include? key if !value.is_a? Hash value = { :value => value } ; end value.replace( { :self => self }.merge value ) Rdoba.send key, value ; end ; end ; end; end ; end
require(name, *opts)
click to toggle source
# File lib/rdoba/require.rb, line 48 def require(name, *opts) v = parse_opts(opts) dbp11 "[require] <<< name = #{name}" begin res = __require__ name rescue => bang puts "Lib internal error: #{$!.class} -> #{$!}\n\t#{$@.join("\n\t")}" exit end dbp14 "[require]> Loaded? #{name}... #{res}" res = sub_require(name) if res and v[:recursive] res end
Also aliased as: __require__
sprintf(format, *args)
click to toggle source
# File lib/rdoba/io.rb, line 11 def sprintf(format, *args) nargs = [] nformat = '' fmt = format.split('%') nformat = fmt.shift while (not fmt.empty?) part = fmt.shift part = '%' + fmt.shift unless part if part =~ /([0-9 #+\-*.]*)([bcdEefGgiopsuXxP])(.*)/ and $2 == 'P' keys = $1 || '' str = $3 || '' if keys =~ /(-)?([0-9*]*)\.?([0-9\*]*)(\+?)/ value = args.shift indent = ' ' * ($2 == '*' ? args.shift : $2).to_i plain = value && value.to_p( :padding => ($3 == '*' ? args.shift : $3.empty? ? 1 : $3).to_i, :be => $4.empty? ? nil : true) || '' nformat += ($1 ? plain + indent : indent + plain) + str else nformat += '%' + keys + 'c' + str nargs.push args.shift end else nformat += '%' + part l = $1 =~ /\*/ ? 2 : 1 while l > 0 nargs.push args.shift l -= 1 end end end __sprintf__(nformat, *nargs).to_p end
Also aliased as: __sprintf__
Private Instance Methods
require_dir(dir, name)
click to toggle source
# File lib/rdoba/require.rb, line 9 def require_dir(dir, name) dbp11 "[require_dir] <<< dir = #{dir}, name = #{name}" begin rdir = File.join(dir, name) return false unless File.directory?(rdir) rdir = File.join(dir, name) $: << rdir unless $:.include?(rdir) dbp14 "[require_dir]> Found dir #{rdir}" Dir.foreach(rdir) do |file| next unless file =~ /(.*)\.(rb|so)$/ dbp14 "[require_dir]> Loading ... #{$1}" require $1 end true rescue false end end
sub_require(name)
click to toggle source
# File lib/rdoba/require.rb, line 28 def sub_require(name) dbp11 "[sub_require] <<< name = #{name} " $:.each do |dir| begin Dir.foreach(dir) do |file| next unless file =~ /^#{name}\.(rb|so)$/ dbp14 "[sub_require]> Require Dir #{dir}/#{name} for #{file}" r1 = require_dir(dir, name + '.modules') r2 = require_dir(dir, name) dbp14 "[sub_require]> Require Dir #{(r1 || r2) && 'passed' || 'failed'} ... #{name}" end rescue end end unless $".include?(name) true end