Module: Pliny::Utils

Defined in:
lib/pliny/utils.rb

Class Method Summary collapse

Class Method Details

.parse_env(file) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/pliny/utils.rb', line 3

def self.parse_env(file)
  env = {}
  File.open(file).each do |line|
    line = line.gsub(/#.*$/, '').strip
    next if line.empty?
    var, value = line.split("=", 2)
    value.gsub!(/^['"](.*)['"]$/, '\1')
    env[var] = value
  end
  env
end

.require_glob(path) ⇒ Object Also known as: require_relative_glob

Requires an entire directory of source files in a stable way so that file hierarchy is respected for load order.

Raises:

  • (LoadError)


17
18
19
20
21
22
23
24
25
26
27
# File 'lib/pliny/utils.rb', line 17

def self.require_glob(path)
  files = Dir[path].sort_by do |file|
    [file.count("/"), file]
  end

  raise LoadError, "empty glob path: #{path}" if files.empty?

  files.each do |file|
    require file
  end
end