config_env 0.0.1 → 0.1.0

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: bf04daacd474e874dcd756c75225764900265d31
4
- data.tar.gz: f8e0a12885a96d091158aa92e4ac8a9d3db39ef7
3
+ metadata.gz: d9767a6ba806006a66c7539931f5b7898ae8b8a1
4
+ data.tar.gz: 2988dcd695c7d0b580a01a345205322afc2c6953
5
5
  SHA512:
6
- metadata.gz: 0be3f107a4d38543e4fdff24ae42960ef76d1df7f2aaeebc5179bb02aaee8840065fdc1b7fb08517989366c304adc552acc1f911573ebf65cf48bb3413ce7714
7
- data.tar.gz: 5437ea0fd31acadefe267a26d65031ac8dd8c3e2ab65d9b217617166a477f1b6255c766712d224b9319da7873f63ca62fe65abd8a6e239601473613f08988380
6
+ metadata.gz: 42898bb84560900b9a51e606ca449fca5882bae46904cc2d7e9bb1a432e4f451000f09606bebe917fa3627d2dc27e9e9d9d68064991e9f3b295b0c8b0d50a03e
7
+ data.tar.gz: f13c8f98f84a314c30f16850a8094d27b32b865e361cf3f6e1dbc44464468c2a9068e4dad3abd5a5de5d98088e4dfb6d13fa8dc8c3fe343c3f041a68ec24f4f8
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-2.0.0
1
+ ruby-2.1
data/README.md CHANGED
@@ -1,57 +1,51 @@
1
- # ConfigEnv
1
+ # ConfigEnv - config your `ENV['variables']`
2
2
 
3
- ENV manager for any Ruby code
3
+ Configurator of the `ENV['key']` for any Ruby environment
4
4
 
5
- - Manage ENV[] variables
6
- - Upload ENV to Heroku
5
+ - Describe `ENV['key']` variables in config file with Ruby syntax
6
+ - Upload the configuration to Heroku
7
7
 
8
- Note. It similar to Sinarta configuration
9
8
 
10
- ## Installation
11
-
12
- Add to Gemfile (as top as possible):
9
+ ## Usage
13
10
 
14
11
  gem 'config_env'
15
12
 
16
- And then execute:
13
+ # Specify path your `config_env.rb`
14
+ ConfigEnv.path_to_config("#{__dir__}/config/config_env.rb")
17
15
 
18
- $ bundle
19
-
20
-
21
- ## Usage
22
-
23
- Create file `config_env.rb`:
16
+ Create file `config/config_env.rb`:
24
17
 
25
18
  # any ENV['RACK_ENV']
26
19
  config_env do
27
- set 'omniauth.twitter', 'all'
20
+ set 'secret_key', 'value_for_all_RACK_ENV'
28
21
  end
29
22
 
30
23
  # only when ENV['RACK_ENV'] == :test
31
24
  config_env :test do
32
- set 'omniauth.twitter', 'test'
25
+ set 'secret_key', 'overwrite_value_for_test_rack_env'
33
26
  end
34
27
 
35
28
  config_env :production, :development do
36
- set 'omniauth.twitter', 'live'
29
+ set 'secret_key', 'overwrite_value_for_test_or_dev_rack_env'
37
30
  end
38
31
 
39
32
  Add line to `.gitignore`
40
33
 
41
34
  config_env.rb
42
35
 
43
- ### Heroku
44
36
 
45
- If you want use set env at Heroku. Add lines to `Rakefile`
37
+ ### Upload configurated variables to Heroku
38
+
39
+ Add to `Rakefile`
46
40
 
47
41
  require 'config_env/rake_tasks'
48
- ConfigEnv.path = "#{__dir__}/ruby/config/config_env.rb"
42
+ ConfigEnv.path_to_config("#{__dir__}/config/config_env.rb")
49
43
 
50
- Configure Heroku according to config_env
44
+ Run rake command
51
45
 
52
46
  rake config_env:heroku
53
47
 
54
- Optionally, you can pass in the name of the Heroku app:
48
+ Optionally, you can pass in the name of the Heroku app
55
49
 
56
50
  rake config_env:heroku[app-name]
57
51
 
data/config_env.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ['sergey@makridenkov.com']
11
11
  spec.description = %q{Manage ENV[] variables, upload ENV to Heroku}
12
12
  spec.summary = %q{ENV manager for any Ruby code}
13
- spec.homepage = ''
13
+ spec.homepage = 'https://github.com/SergXIIIth/config_env'
14
14
  spec.license = 'MIT'
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -18,8 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency 'bundler'
22
- spec.add_development_dependency 'rake'
23
- spec.add_development_dependency 'rspec'
24
- spec.add_development_dependency 'rerun'
21
+ spec.add_development_dependency 'bundler', '~> 1.5'
22
+ spec.add_development_dependency 'rake', '~> 10.3'
23
+ spec.add_development_dependency 'rspec', '~> 2.14'
24
+ spec.add_development_dependency 'rerun', '~> 0.10'
25
25
  end
@@ -1,3 +1,3 @@
1
1
  module ConfigEnv
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.0"
3
3
  end
data/lib/config_env.rb CHANGED
@@ -2,8 +2,11 @@ require "config_env/version"
2
2
 
3
3
  module ConfigEnv
4
4
  # path to config_env file. Used in app Rakefile
5
- def self.path=(new_path)
5
+ def self.path_to_config(new_path)
6
6
  @path = new_path
7
+ if File.exists?(path)
8
+ Kernel.load(path)
9
+ end
7
10
  end
8
11
 
9
12
  def self.path
@@ -38,7 +41,7 @@ module ConfigEnv
38
41
  ENV['RACK_ENV'] || 'development'
39
42
  end
40
43
 
41
- private
44
+ private
42
45
 
43
46
  attr_accessor :vars
44
47
 
@@ -33,4 +33,4 @@ module ConfigEnv::Tasks
33
33
  end
34
34
  end
35
35
  end
36
- end
36
+ end
@@ -7,35 +7,32 @@ describe ConfigEnv do
7
7
 
8
8
  before { ConfigEnv.clear }
9
9
 
10
- describe :config_env do
11
- it 'set ENV from code block' do
12
- config_env do
13
- set 'omniauth.twitter', 111
10
+ describe '.path_to_config' do
11
+ let(:path){ double('path') }
12
+ subject(:path_to_config) { ConfigEnv.path_to_config(path) }
13
+
14
+ # on Heroku ENV set manually and config_env does not exist
15
+ context 'when config_env not exist' do
16
+ it 'do nothing' do
17
+ expect(Kernel).to_not receive(:load)
18
+ path_to_config
14
19
  end
15
-
16
- ENV['omniauth.twitter'].should == '111'
17
20
  end
18
21
 
19
- it 'use RACK_ENV as env swither' do
20
- old_rack_env = ENV['RACK_ENV']
21
-
22
- ENV['RACK_ENV'] = 'test'
23
-
24
- config_env :test do
25
- set 'omniauth.twitter', 'test'
22
+ context 'when config_env exist' do
23
+ before do
24
+ allow(File).to receive(:exists?).with(path){ true }
26
25
  end
27
26
 
28
- config_env :production, :development do
29
- set 'omniauth.twitter', 'live'
27
+ it 'load config_env' do
28
+ expect(Kernel).to receive(:load).with(path)
29
+ path_to_config
30
30
  end
31
-
32
- ENV['omniauth.twitter'].should == 'test'
33
-
34
- ENV['RACK_ENV'] = old_rack_env
35
31
  end
36
32
  end
37
33
 
38
- describe :vars do
34
+
35
+ describe '.vars' do
39
36
  it 'returns empty hash by default' do
40
37
  ConfigEnv.vars.should == {}
41
38
  end
@@ -68,4 +65,32 @@ describe ConfigEnv do
68
65
  ConfigEnv.vars('production').should == {key2 => val2, key => val}
69
66
  end
70
67
  end
71
- end
68
+
69
+ describe 'global shortcut config_env' do
70
+ it 'set ENV from code block' do
71
+ config_env do
72
+ set 'omniauth.twitter', 111
73
+ end
74
+
75
+ ENV['omniauth.twitter'].should == '111'
76
+ end
77
+
78
+ it 'use RACK_ENV as env swither' do
79
+ old_rack_env = ENV['RACK_ENV']
80
+
81
+ ENV['RACK_ENV'] = 'test'
82
+
83
+ config_env :test do
84
+ set 'omniauth.twitter', 'test'
85
+ end
86
+
87
+ config_env :production, :development do
88
+ set 'omniauth.twitter', 'live'
89
+ end
90
+
91
+ ENV['omniauth.twitter'].should == 'test'
92
+
93
+ ENV['RACK_ENV'] = old_rack_env
94
+ end
95
+ end
96
+ end
metadata CHANGED
@@ -1,71 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: config_env
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Makridenkov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-17 00:00:00.000000000 Z
11
+ date: 2014-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '1.5'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '1.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '10.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '10.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '2.14'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '2.14'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rerun
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '0.10'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '0.10'
69
69
  description: Manage ENV[] variables, upload ENV to Heroku
70
70
  email:
71
71
  - sergey@makridenkov.com
@@ -73,9 +73,9 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
- - .gitignore
77
- - .ruby-gemset
78
- - .ruby-version
76
+ - ".gitignore"
77
+ - ".ruby-gemset"
78
+ - ".ruby-version"
79
79
  - Gemfile
80
80
  - LICENSE.txt
81
81
  - README.md
@@ -84,11 +84,11 @@ files:
84
84
  - lib/config_env.rb
85
85
  - lib/config_env/rake_tasks.rb
86
86
  - lib/config_env/version.rb
87
- - spec/config_env/rake_tasts_spec.rb
88
- - spec/config_env_spec.rb
87
+ - spec/lib/config_env/rake_tasts_spec.rb
88
+ - spec/lib/config_env_spec.rb
89
89
  - spec/spec_helper.rb
90
90
  - spec/support/rnd_helpers.rb
91
- homepage: ''
91
+ homepage: https://github.com/SergXIIIth/config_env
92
92
  licenses:
93
93
  - MIT
94
94
  metadata: {}
@@ -98,22 +98,22 @@ require_paths:
98
98
  - lib
99
99
  required_ruby_version: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  required_rubygems_version: !ruby/object:Gem::Requirement
105
105
  requirements:
106
- - - '>='
106
+ - - ">="
107
107
  - !ruby/object:Gem::Version
108
108
  version: '0'
109
109
  requirements: []
110
110
  rubyforge_project:
111
- rubygems_version: 2.0.6
111
+ rubygems_version: 2.2.2
112
112
  signing_key:
113
113
  specification_version: 4
114
114
  summary: ENV manager for any Ruby code
115
115
  test_files:
116
- - spec/config_env/rake_tasts_spec.rb
117
- - spec/config_env_spec.rb
116
+ - spec/lib/config_env/rake_tasts_spec.rb
117
+ - spec/lib/config_env_spec.rb
118
118
  - spec/spec_helper.rb
119
119
  - spec/support/rnd_helpers.rb