hookit 0.12.0 → 0.12.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +8 -0
- data/lib/hookit/converginator.rb +24 -0
- data/lib/hookit/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: f1166ad562b7d6e479259099ddbeba5701af937f
|
4
|
+
data.tar.gz: cb488d1c42236de29dcd3cec65c3af1963add939
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a85a5b79957525b56c811461254ee136eff9282dc9b524e31988311977eef9b56929b840a18728e6f9505662c291403c7a43ee55c12850b84d9e31383387590e
|
7
|
+
data.tar.gz: 90d66e0fe4244a5cc647d28ab7ae9a0fe87fddb429ac7c41433822f9bf6395ca6ff5b8a39b685e48a14dca77db9f2562e9b2482d434eba959b04f30d7bff153c
|
data/Rakefile
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
+
require 'rake/testtask'
|
2
3
|
|
3
4
|
desc "Create tag v#{Hookit::VERSION}"
|
4
5
|
task :tag do
|
@@ -8,3 +9,10 @@ task :tag do
|
|
8
9
|
`git push origin --tags`
|
9
10
|
|
10
11
|
end
|
12
|
+
|
13
|
+
Rake::TestTask.new do |t|
|
14
|
+
t.libs << 'test'
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "Run tests"
|
18
|
+
task :default => :test
|
data/lib/hookit/converginator.rb
CHANGED
@@ -18,11 +18,31 @@ module Hookit
|
|
18
18
|
output
|
19
19
|
end
|
20
20
|
|
21
|
+
def converge_hash(template, value)
|
22
|
+
temp = {}
|
23
|
+
template.each do |k, t|
|
24
|
+
if value.key? k
|
25
|
+
temp[k] = converge_value t, value[k]
|
26
|
+
else
|
27
|
+
temp[k] = t[:default]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
temp
|
31
|
+
end
|
32
|
+
|
21
33
|
def converge_value(template, value)
|
22
34
|
if template[:type] == :array
|
23
35
|
value = sanitize_array(template, value)
|
24
36
|
end
|
25
37
|
|
38
|
+
if template[:type] == :array and template[:of] == :hash and template[:template]
|
39
|
+
value.map! {|v| converge_hash(template[:template], v)}
|
40
|
+
end
|
41
|
+
|
42
|
+
if template[:type] == :hash and template[:template]
|
43
|
+
value = converge_hash(template[:template], value)
|
44
|
+
end
|
45
|
+
|
26
46
|
if valid? template, value
|
27
47
|
value
|
28
48
|
else
|
@@ -39,6 +59,8 @@ module Hookit
|
|
39
59
|
value = [value] if ( valid_file? value )
|
40
60
|
when :folder
|
41
61
|
value = [value] if ( valid_folder? value )
|
62
|
+
when :hash
|
63
|
+
value = [value] if ( valid_hash? value )
|
42
64
|
when :integer
|
43
65
|
value = [value] if ( valid_integer? value )
|
44
66
|
when :on_off
|
@@ -104,6 +126,8 @@ module Hookit
|
|
104
126
|
!( value.map {|element| valid_folder? element} ).include? false
|
105
127
|
when :integer
|
106
128
|
!( value.map {|element| valid_integer? element} ).include? false
|
129
|
+
when :hash
|
130
|
+
!( value.map {|element| valid_hash? element} ).include? false
|
107
131
|
when :on_off
|
108
132
|
!( value.map {|element| valid_on_off? element} ).include? false
|
109
133
|
when :string
|
data/lib/hookit/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hookit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tyler Flint
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-05-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: tilt
|