env_loader 0.3.0 → 0.4.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: 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