Sha256: 597ebd7ab47ba520cc1cb7371c97da4c6ddae645dae9002882a8c3d93cd58dc7
Contents?: true
Size: 1.01 KB
Versions: 4
Compression:
Stored size: 1.01 KB
Contents
module Pliny module ConfigHelpers def optional(*attrs) attrs.each do |attr| instance_eval "def #{attr}; @#{attr} ||= ENV['#{attr.upcase}'] end", __FILE__, __LINE__ ConfigHelpers.add_question_method(attr) end end def mandatory(*attrs) attrs.each do |attr| instance_eval "def #{attr}; @#{attr} ||= ENV['#{attr.upcase}'] || raise('missing=#{attr.upcase}') end", __FILE__, __LINE__ ConfigHelpers.add_question_method(attr) end end def override(attrs) attrs.each do |attr, value| instance_eval "def #{attr}; @#{attr} ||= ENV['#{attr.upcase}'] || '#{value}'.to_s end", __FILE__, __LINE__ ConfigHelpers.add_question_method(attr) end end def self.add_question_method(attr) define_method "#{attr}?" do return false if send(attr).nil? !!(send(attr) =~ /\Atrue|yes|on\z/i || send(attr).to_i > 0) end end end end # Supress the "use RbConfig instead" warning. Object.send :remove_const, :Config
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
pliny-0.2.1 | lib/pliny/config_helpers.rb |
pliny-0.2.0 | lib/pliny/config_helpers.rb |
pliny-0.1.0 | lib/pliny/config_helpers.rb |
pliny-0.0.4 | lib/pliny/config_helpers.rb |