module EnvHashConfig

Constants

VERSION

Public Class Methods

create(options: ENV, array_options: [], boolean_options: [], default_options: {}, integer_options: []) { |options| ... } click to toggle source
# File lib/env_hash_config.rb, line 5
def self.create(options: ENV, array_options: [], boolean_options: [], default_options: {}, integer_options: [])
  options = options.inject({}) { |h,(k,v)| h.tap { |h| h[k.downcase.to_sym] = v } }
  options = array_options.inject(options) { |h,k| h.tap { |h| h[k] = h[k].split ',' if h[k] } }
  options = boolean_options.inject(options) { |h,k| h.tap { |h| h[k] = h[k] == 'true' if h[k] } }
  options = integer_options.inject(options) { |h,k| h.tap { |h| h[k] = h[k].to_i if h[k] } }
  options = default_options.merge options
  options = yield options if block_given?

  OpenStruct.new options
end