Sha256: 27f8ed7d11ca2e2fed749e0c8dc3cf75f0e1167766478243c6846cb66df71859

Contents?: true

Size: 1.23 KB

Versions: 2

Compression:

Stored size: 1.23 KB

Contents

module Zemax
  require 'pathname'

  VERSION_FILE = Pathname.new(__FILE__).dirname + '../VERSION'   # :nodoc:
  VERSION = VERSION_FILE.exist? ? VERSION_FILE.read.strip : nil

  # Require ruby source file(s). Lib should be either file name or glob
  # Accepts following options:
  # :file:: Libs are required relative to this file - defaults to __FILE__
  # :dir:: Required libs are located under this dir name - defaults to gem name
  #
  def self.require_lib( lib, opts={} )
    file = Pathname.new(opts[:file] || __FILE__)
    name = file.dirname + (opts[:dir] || file.basename('.*')) + lib.gsub(/(?<!.rb)$/, '.rb')
    Pathname.glob(name.to_s).sort.each {|rb| require rb}
  end

  # Requires ruby source file(s). Accepts either single name or Array of filenames/globs
  # Accepts following options:
  # :file:: Libs are required relative to this file - defaults to __FILE__
  # :dir:: Required libs are located under this dir name - defaults to gem name
  #
  def self.require_libs( libs, opts={} )
    [libs].flatten.each {|lib| require_lib lib, opts }
  end

end  # module Zemax

# Require all ruby source files located under directory lib/zemax
# If you need files in specific order, you should specify it here before the glob
Zemax.require_libs %W[**/*]

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
zemax-0.0.0 lib/zemax.rb
zemax-0.2.0 lib/zemax.rb