Method: KLookup::Database.resource_path

Defined in:
lib/klookup/database.rb

.resource_path(path, mod = 'klookup') ⇒ Object

Raises:

  • (Errno::ENOENT)

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/klookup/database.rb', line 26

def self.resource_path(path, mod='klookup')
  # Choose a directory
  env=ENV['KLOOKUP_PATH']
  if env and env != ''
    dir=env+"/#{mod}"
  else
    begin
      gem mod
      dir=Gem.datadir(mod)
    rescue NameError
      # This is a fallback for older versions of RubyGems (0.8)
      begin
 require_gem mod
        dir=Gem.datadir(mod)
      rescue NameError
        raise IOError, 'Could not find resource %s' % path
      end
    end
  end
  raise Errno::ENOENT if Dir["#{dir}/#{path}"].empty?
  "#{dir}/#{path}"
end