public
Rubygem
Description: Ramaze is a simple, light and modular open-source web application framework written in Ruby.
Homepage: http://ramaze.net
Clone URL: git://github.com/manveru/ramaze.git
Click here to lend your support to: ramaze and make a donation at www.pledgie.com !
ramaze / lib / ramaze / snippets / ramaze / acquire.rb
100644 32 lines (29 sloc) 0.847 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
# All files in this distribution are subject to the terms of the Ruby license.
 
module Ramaze
  # Require all .rb and .so files on the given globs, utilizes Dir::[].
  #
  # Examples:
  # # Given following directory structure:
  # # src/foo.rb
  # # src/bar.so
  # # src/foo.yaml
  # # src/foobar/baz.rb
  # # src/foobar/README
  #
  # # requires all files in 'src':
  # Ramaze.acquire 'src/*'
  #
  # # requires all files in 'src' recursive:
  # Ramaze.acquire 'src/**/*'
  #
  # # require 'src/foo.rb' and 'src/bar.so' and 'src/foobar/baz.rb'
  # Ramaze.acquire 'src/*', 'src/foobar/*'
 
  def self.acquire(*globs)
    globs.flatten.each do |glob|
      Dir[glob].each do |file|
        require file if file =~ /\.(rb|so)$/
      end
    end
  end
end