stub_env 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f9493b28321043cf428d39b2fb18174a3ef55ca3
4
- data.tar.gz: b5ae5362f9789aaffa0041d35f51f2ace1e005fc
3
+ metadata.gz: ff78442a66831a3a0a0ca6657bb8489eb3098d38
4
+ data.tar.gz: 520c3211c60a8299589ec7b937a4ecc20c08c615
5
5
  SHA512:
6
- metadata.gz: 8bb53b9d0444e2325d2d190cf249d0a9ea4d0d17e3b11fb696f445e8d43f92492ae5636fae0ce4f645dc2ef81e6bc5e4179c0fc3ac6c804bea91cd860a6a0be4
7
- data.tar.gz: f54bbf229683cdf288daab6673fd0507148e2cb6975d087188f651e96f1dd38f541db703983e4ac1cb832fbdd09ed1bf5298c3fb4d8f53955509b425691a0015
6
+ metadata.gz: ce3b7573a796e36e877b95ddce3f6d3d299e6a2b455fb68ea2d4bb2c6ec607ea0746f4fe5474d7d45126e5224f84cf9334337f66529f643bf7127825892dc323
7
+ data.tar.gz: cbb46d8543690778085002f489b82b6289294e49785ac8c153c50f36b21e9644092ac3ffe8cf7376c145ee36dd8c115ed7b8e968022cef20cd1390111f664ab5
@@ -1,12 +1,11 @@
1
1
  module StubEnv
2
2
  module Helpers
3
-
4
- def stub_env key_or_hash, value=nil
3
+ def stub_env(key_or_hash, value = nil)
5
4
  init_stub unless env_stubbed?
6
- if value
7
- add_stubbed_value key_or_hash, value
5
+ if key_or_hash.is_a? Hash
6
+ key_or_hash.each { |k, v| add_stubbed_value(k, v) }
8
7
  else
9
- key_or_hash.each { |k,v| add_stubbed_value k,v }
8
+ add_stubbed_value key_or_hash, value
10
9
  end
11
10
  end
12
11
 
@@ -14,8 +13,8 @@ module StubEnv
14
13
 
15
14
  STUBBED_KEY = '__STUBBED__'
16
15
 
17
- def add_stubbed_value key, value
18
- allow(ENV).to receive(:[]).with(key).and_return(value)
16
+ def add_stubbed_value(key, value)
17
+ allow(ENV).to receive(:[]).with(key).and_return(value)
19
18
  end
20
19
 
21
20
  def env_stubbed?
@@ -26,6 +25,5 @@ module StubEnv
26
25
  allow(ENV).to receive(:[]).and_call_original
27
26
  add_stubbed_value(STUBBED_KEY, true)
28
27
  end
29
-
30
28
  end
31
- end
29
+ end
@@ -1,27 +1,22 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe StubEnv::Helpers do
4
4
  include described_class
5
-
6
- before :each do
7
- ENV['UNSTUBBED'] = 'unstubbed'
8
- end
9
-
10
- describe "#stub_env" do
11
5
 
6
+ describe '#stub_env' do
12
7
  include_examples 'stub_env tests'
13
8
 
14
- if RSpec::Mocks::Configuration.public_instance_methods.include? :verify_partial_doubles=
15
- context "with the verify partial doubles option set" do
16
-
9
+ methods = RSpec::Mocks::Configuration.public_instance_methods
10
+ if methods.include?(:verify_partial_doubles=)
11
+ context 'with the verify partial doubles option set' do
17
12
  before :each do
18
13
  RSpec.configuration.mock_with :rspec do |mocks|
19
14
  mocks.verify_partial_doubles = true
20
15
  end
21
16
  end
22
17
 
23
- include_examples 'stub_env tests'
18
+ include_examples 'stub_env tests'
24
19
  end
25
20
  end
26
21
  end
27
- end
22
+ end
@@ -1,4 +1,8 @@
1
1
  shared_examples 'stub_env tests' do
2
+ before :each do
3
+ ENV['UNSTUBBED'] = 'unstubbed'
4
+ end
5
+
2
6
  context 'with a single stubbed variable' do
3
7
  before :each do
4
8
  stub_env('TEST', 'success')
@@ -48,4 +52,24 @@ shared_examples 'stub_env tests' do
48
52
  expect(ENV['UNSTUBBED']).to eq 'unstubbed'
49
53
  end
50
54
  end
51
- end
55
+
56
+ describe 'with existing environment variables' do
57
+ before :each do
58
+ ENV['TO_OVERWRITE'] = 'to overwrite'
59
+ end
60
+
61
+ it 'returns the original value' do
62
+ expect(ENV['TO_OVERWRITE']).to eq 'to overwrite'
63
+ end
64
+
65
+ it 'allows the original value to be stubbed' do
66
+ stub_env('TO_OVERWRITE', 'overwritten')
67
+ expect(ENV['TO_OVERWRITE']).to eq 'overwritten'
68
+ end
69
+
70
+ it 'allows the original value to be stubbed with nil' do
71
+ stub_env('TO_OVERWRITE', nil)
72
+ expect(ENV['TO_OVERWRITE']).to be_nil
73
+ end
74
+ end
75
+ end
data/stub_env.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = "stub_env"
5
- gem.version = "1.0.1"
5
+ gem.version = "1.0.2"
6
6
 
7
7
  gem.authors = ["Liam Bennett"]
8
8
  gem.email = ["liam@littleowllabs.com"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stub_env
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liam Bennett
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-12 00:00:00.000000000 Z
11
+ date: 2015-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec