quiverstaskrunner 0.1.40977 → 0.1.254029
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/lib/quiverstaskrunner/helpers/settingshelper.rb +51 -2
- data/lib/quiverstaskrunner/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 893f814f90eb7281e80cdff038d753593a68c72a
|
4
|
+
data.tar.gz: 91f5e86a73cf158392a2486a5d8c50ffbd99f5ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a352a96f9dcdc5e7d1686a84f2b6811e561874785750c99e716b5762e57288b9021c1c4c565112e121266477ce4a4d1ac39a4fcfecd0bf0a6890b55d6ab49743
|
7
|
+
data.tar.gz: acc78953cab9541535b396593363fed2562de20a15968abd3a9c779164ad9330bd228b78455197768815d90e1d9bd4067921fc4604ce0ce360d72850431ca482
|
data/Gemfile
CHANGED
@@ -5,12 +5,61 @@ module QuiversTaskrunner
|
|
5
5
|
module SettingsHelper
|
6
6
|
module_function
|
7
7
|
|
8
|
-
def get_settings(filepath, env={})
|
8
|
+
def get_settings(filepath, env={}, options={})
|
9
9
|
environment = env.is_a?(Hash) ? "defaults" : env
|
10
10
|
file_contents = open(filepath).read
|
11
11
|
YAML.load(ERB.new(file_contents).result).to_hash
|
12
12
|
all_settings = YAML.load(ERB.new(file_contents).result).to_hash
|
13
|
-
all_settings[environment]
|
13
|
+
settings = all_settings[environment]
|
14
|
+
injected_settings = SettingsHelper.get_cli_settings(options)
|
15
|
+
|
16
|
+
final_settings =
|
17
|
+
if !injected_settings.empty?
|
18
|
+
Hash[*settings.map { |k,v| (injected_settings.has_key?(k) ? [k, injected_settings[k]] : [k, v]) }.flatten ]
|
19
|
+
else
|
20
|
+
settings
|
21
|
+
end
|
22
|
+
|
23
|
+
return final_settings
|
24
|
+
end
|
25
|
+
|
26
|
+
def get_cli_settings(options={})
|
27
|
+
# Returns a Hash
|
28
|
+
separator = options[:sep] || "="
|
29
|
+
ignore_keys = options[:ignore_keys]
|
30
|
+
if defined? ARGV && !ARGV.empty?
|
31
|
+
filtered_args =
|
32
|
+
if defined? (ignore_keys && ignore_keys.is_a?(Array) && !ignore_keys.empty?)
|
33
|
+
formatted_ignore_keys = ignore_keys.map { |x| "#{x}#{separator}" }
|
34
|
+
ARGV.reject { |arg| formatted_ignore_keys.detect { |x| arg.index(x) == 0 } }
|
35
|
+
else
|
36
|
+
ARGV
|
37
|
+
end
|
38
|
+
|
39
|
+
return Hash[*filtered_args.map { |arg| SettingsHelper.deserialize_string_key_value_pair(arg.split(separator)) }.flatten]
|
40
|
+
else
|
41
|
+
return {}
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def deserialize_string_key_value_pair(string_key_value_pair)
|
46
|
+
if defined? string_key_value_pair && string_key_value_pair.is_a?(Array) && !string_key_value_pair.empty? && string_key_value_pair.length > 1
|
47
|
+
key = string_key_value_pair[0]
|
48
|
+
value = string_key_value_pair[1]
|
49
|
+
if defined? value && !value.nil? && !value.empty?
|
50
|
+
deserialize_value =
|
51
|
+
if (value.index("[") == 0 || value.index("{") == 0) # this is an array or a hash
|
52
|
+
eval(value)
|
53
|
+
else
|
54
|
+
value
|
55
|
+
end
|
56
|
+
return [key, deserialize_value]
|
57
|
+
else
|
58
|
+
return string_key_value_pair
|
59
|
+
end
|
60
|
+
else
|
61
|
+
return string_key_value_pair
|
62
|
+
end
|
14
63
|
end
|
15
64
|
end
|
16
65
|
end
|
@@ -1 +1 @@
|
|
1
|
-
module QuiversTaskrunner
|
1
|
+
module QuiversTaskrunner
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quiverstaskrunner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.254029
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ndao
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|