Sha256: ae35c4725ff3be5394dbb9675db3a771c367c307b892ee9cdf8c17cf874c439b
Contents?: true
Size: 1.98 KB
Versions: 4
Compression:
Stored size: 1.98 KB
Contents
# encoding: utf-8 module XS LIBPATH = ::File.expand_path(::File.dirname(__FILE__)) + ::File::SEPARATOR PATH = ::File.dirname(LIBPATH) + ::File::SEPARATOR # Returns the version string for the library. def self.version @version ||= File.read(path('version.txt')).strip end # Returns the library path for the module. If any arguments are given, # they will be joined to the end of the library path using # _File.join_. def self.libpath( *args, &block ) rv = args.empty? ? LIBPATH : ::File.join(LIBPATH, args.flatten) if block begin $LOAD_PATH.unshift LIBPATH rv = block.call ensure $LOAD_PATH.shift end end return rv end # Returns the lpath for the module. If any arguments are given, # they will be joined to the end of the path using # _File.join_. def self.path( *args, &block ) rv = args.empty? ? PATH : ::File.join(PATH, args.flatten) if block begin $LOAD_PATH.unshift PATH rv = block.call ensure $LOAD_PATH.shift end end return rv end # Utility method used to require all files ending in .rb that lie in the # directory below this file that has the same name as the filename passed # in. Optionally, a specific _directory_ name can be passed in such that # the _filename_ does not have to be equivalent to the directory. def self.require_all_libs_relative_to( fname, dir = nil ) dir ||= ::File.basename(fname, '.*') search_me = ::File.expand_path( ::File.join(::File.dirname(fname), dir, '**', '*.rb')) Dir.glob(search_me).sort.each {|rb| require rb} end end # module XS # Conditional code execution depending upon which ruby engine we are # using RBX = defined?(RUBY_ENGINE) && RUBY_ENGINE =~ /rbx/ ? true : false require 'ffi' unless RBX # The order that files are required in is important %w(libc libxs constants util exceptions context message socket poll_items poll).each do |file| require XS.libpath(['ffi-rxs', file]) end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ffi-rxs-1.2.1 | lib/ffi-rxs.rb |
ffi-rxs-1.2.0 | lib/ffi-rxs.rb |
ffi-rxs-1.1.0 | lib/ffi-rxs.rb |
ffi-rxs-1.0.1 | lib/ffi-rxs.rb |