config_env 0.0.1 → 0.1.0

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: 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