hookit 0.12.0 → 0.12.1

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: 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