env_loader 0.3.0 → 0.4.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: 073794c2413a0207c67b431f6168a026a742d340
4
- data.tar.gz: 17efae9f198ae06171c30e2944acbbe4fa4b438b
3
+ metadata.gz: 29703c7bb55a622d4857ef377045852f66dd17d2
4
+ data.tar.gz: c3703e9d003dacbdd2d1ff923970520657b5ab0a
5
5
  SHA512:
6
- metadata.gz: 81af0b62308846e32d38998c26ea26836422a76f7472ffe1f8ab75bc4bc947379d2924f08d4d32d2e08ea481772c00d6604e005d762d5eb0aecae7ce1ecc0dfa
7
- data.tar.gz: e2f11343c85b0019ba1a970dd6b8626ce3faaa7ca9f43b2a500c127965c364fd812ccae4a970bd50a2906a5551892f0914e901407ebcbcbf775b3b1236820763
6
+ metadata.gz: 409e149b94ce95c63ae27274e6e0eca3be2fff4609dbe1c9274dd6561407f914ecd106ce7e6a7fa36bb7fb30bbbdfdd5c4171fc3e888f3eedf9e726d2d05808d
7
+ data.tar.gz: bfb0cad4b0e91062db18c77966cbfeb4f53e8315bd46342f9a141ecf3f8ef9bff321ec6392290a26538f881d1158e3e01282bbb385628f21d70630822d4f6d39
data/README.md CHANGED
@@ -20,8 +20,9 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
  ##### TODO: Better Document this section
23
- * `EnvLoader.setup_monolith`
24
- * `EnvLoader.setup_microservice`
23
+ * `> EnvLoader.setup_monolith`
24
+ * `> EnvLoader.setup_microservice`
25
+ * `$ rake env_loader:set_heroku_configs[heroku_app,config_file,config_subtree_key]`
25
26
 
26
27
  ---
27
28
 
@@ -0,0 +1,8 @@
1
+ module ConfiguratorGem
2
+ class Railtie < Rails::Railtie
3
+ rake_tasks do
4
+ rake_files = Dir[File.join(File.dirname(__FILE__), '..', 'tasks', '*.rake')]
5
+ rake_files.each { |rake_file| load rake_file }
6
+ end
7
+ end
8
+ end
@@ -1,3 +1,3 @@
1
1
  module EnvLoader
2
- VERSION = '0.3.0'
2
+ VERSION = '0.4.0'
3
3
  end
data/lib/env_loader.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'env_loader/railtie' if defined?(Rails)
1
2
  require 'env_loader/version'
2
3
  require 'env_loader/configurator'
3
4
  require 'uiux'
@@ -0,0 +1,39 @@
1
+ require 'uiux'
2
+
3
+ namespace :env_loader do
4
+ desc 'Sets the Heroku config variables based on the EnvLoader'
5
+ task :set_heroku_configs, [:heroku_app, :config_file, :config_subtree_key] => [:environment] do |_t, args|
6
+ UI.start 'Setting Heroku config variables based on the EnvLoader...' do
7
+ [:heroku_app, :config_file, :config_subtree_key].each do |arg|
8
+ UI.error "Missing \"#{arg}\" argument!" if args[arg].blank?
9
+ end
10
+
11
+ UI.heading 'Desired Heroku configs:'
12
+ ap config = EnvLoader::Configurator.new(
13
+ config_file: args[:config_file],
14
+ config_subtree_key: args[:config_subtree_key]
15
+ ).config
16
+
17
+ UI.heading 'Current Heroku configs:'
18
+ result = UI.execute "heroku config -a #{args[:heroku_app]}"
19
+ heroku_config_hash = {}
20
+ result.split("\n").each do |row|
21
+ parsed_row = YAML.load(row)
22
+ heroku_config_hash.merge!(parsed_row) if parsed_row.is_a?(Hash)
23
+ end
24
+
25
+ UI.heading 'Updating Heroku configs...'
26
+ config.each do |key, value|
27
+ if heroku_config_hash[key].to_s == value
28
+ UI.message "Config already set: #{key}=#{value}"
29
+ else
30
+ value = "\"#{value}\"" unless %w(true false).include?(value.to_s)
31
+ UI.execute "heroku config:add #{key}=#{value} -a #{args[:heroku_app]}"
32
+ end
33
+ end
34
+
35
+ UI.heading 'Updated Heroku configs:'
36
+ UI.execute "heroku config -a #{args[:heroku_app]}"
37
+ end
38
+ end
39
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: env_loader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Endri Gjiri
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-11-05 00:00:00.000000000 Z
11
+ date: 2015-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: uiux
@@ -85,7 +85,9 @@ files:
85
85
  - env_loader.gemspec
86
86
  - lib/env_loader.rb
87
87
  - lib/env_loader/configurator.rb
88
+ - lib/env_loader/railtie.rb
88
89
  - lib/env_loader/version.rb
90
+ - lib/tasks/heroku_env_loader.rake
89
91
  homepage:
90
92
  licenses:
91
93
  - MIT