mutaconf 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2969dd1b70dd7a226f8c3aeaaf4d875d75f19483
4
- data.tar.gz: 2d7b8ac14dadaae652fc1be2fe29051d4a9601c2
3
+ metadata.gz: 7ab4d7e17675c6ca67a288015785c3960d8f1cdf
4
+ data.tar.gz: 0559bfe85a294fd62db3dc91f740cb382ca1953a
5
5
  SHA512:
6
- metadata.gz: fd5cc659aae6edc8754d1d6a31292a297e374e7b3972c96c2d6fbeae0279bcf436500ff1b7e740eed4a3a5250e2165adf604d9ba7824aa93c8fc34f00b33da91
7
- data.tar.gz: 911e7edfb512ab75929e8b34dd3474aafb469a0f6c647e119b990691f78c243a1a60faf9c2e76d0e0c1680b3f7ad7db83053e558bdfbd7080b052337748d848b
6
+ metadata.gz: adfac344fe43f78bb06228ed393b60f4f82218a3ebe2b6b7897eefa9ee4ab6281abdc0b9cf95d1c4e6a5b7c75f99915882f627d083c03b0793c3ab11c16425c7
7
+ data.tar.gz: 92dde7af0a4bb33b6852b20e56362cbf8a768d8c39a7d76ccf6c8d8cbc233f33408b69bdcc89397c31742457993854f1895c6d435518b7bea9f15bd42394bab7
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
data/lib/mutaconf.rb CHANGED
@@ -1,12 +1,23 @@
1
1
  # encoding: UTF-8
2
2
 
3
3
  module Mutaconf
4
- VERSION = '0.0.5'
4
+ VERSION = '0.0.6'
5
5
 
6
6
  def self.dsl *args
7
7
  DSL.new *args
8
8
  end
9
9
 
10
+ def self.env *args
11
+ options = args.last.kind_of?(Hash) ? args.pop : {}
12
+ args.inject({}) do |memo,key|
13
+ env_key = options[:upcase] == false ? key.to_s : key.to_s.upcase
14
+ prefix = options[:prefix]
15
+ prefix = prefix.upcase if prefix and options[:upcase] != false
16
+ memo[key.to_sym] = ENV["#{prefix}#{env_key}"]
17
+ memo
18
+ end
19
+ end
20
+
10
21
  def self.extract source, key
11
22
  if source.kind_of? Hash
12
23
  source[key.to_sym]
data/mutaconf.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "mutaconf"
8
- s.version = "0.0.5"
8
+ s.version = "0.0.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["AlphaHydrae"]
@@ -33,6 +33,7 @@ Gem::Specification.new do |s|
33
33
  "lib/mutaconf/target.rb",
34
34
  "mutaconf.gemspec",
35
35
  "spec/block_spec.rb",
36
+ "spec/env_spec.rb",
36
37
  "spec/extract_spec.rb",
37
38
  "spec/fixtures/eval.rb",
38
39
  "spec/helper.rb",
data/spec/env_spec.rb ADDED
@@ -0,0 +1,23 @@
1
+ require 'helper'
2
+
3
+ describe "Mutaconf.env" do
4
+
5
+ it "should extract properties from environment variables" do
6
+ ENV['FOO'] = 'bar'
7
+ ENV['BAR'] = 'foo'
8
+ ENV.delete 'NIL'
9
+ Mutaconf.env(:foo, :bar, :nil).should == { foo: 'bar', bar: 'foo', nil: nil }
10
+ end
11
+
12
+ it "should not upcase keys if specified" do
13
+ ENV['foo'] = 'bar'
14
+ ENV['bar'] = 'foo'
15
+ Mutaconf.env(:foo, :bar, upcase: false).should == { foo: 'bar', bar: 'foo' }
16
+ end
17
+
18
+ it "should use the given prefix" do
19
+ ENV['MUTACONF_FOO'] = 'bar'
20
+ ENV['MUTACONF_BAR'] = 'foo'
21
+ Mutaconf.env(:foo, :bar, prefix: :mutaconf_).should == { foo: 'bar', bar: 'foo' }
22
+ end
23
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mutaconf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - AlphaHydrae
@@ -146,6 +146,7 @@ files:
146
146
  - lib/mutaconf/target.rb
147
147
  - mutaconf.gemspec
148
148
  - spec/block_spec.rb
149
+ - spec/env_spec.rb
149
150
  - spec/extract_spec.rb
150
151
  - spec/fixtures/eval.rb
151
152
  - spec/helper.rb