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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 303133c19184343293492ed3645453188646758f
4
- data.tar.gz: dfe3f0419572ad4dd7f50db3354482de4aefab27
3
+ metadata.gz: f1166ad562b7d6e479259099ddbeba5701af937f
4
+ data.tar.gz: cb488d1c42236de29dcd3cec65c3af1963add939
5
5
  SHA512:
6
- metadata.gz: 9585e1767794430f6a425f020656b8b8d42dd47092cb2445eb5833a9256ba9469ab2540c24b3e3943fd2158e539812aa01a38991fedb894a6c6111dbd8d4177f
7
- data.tar.gz: 8ad43a6032a4c9cdebf24b24d058d6d1b7ec0a5399279032a30f9487841b422cb805439da8120580d15bd8300908e9a814ab860a540019ec7f4b18f6f281b9fb
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Hookit
2
- VERSION = "0.12.0"
2
+ VERSION = "0.12.1"
3
3
  end
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.0
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-03-10 00:00:00.000000000 Z
12
+ date: 2016-05-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: tilt