hoodie 0.2.5 → 0.2.6
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 +4 -4
- data/lib/hoodie/rash.rb +44 -15
- data/lib/hoodie/version.rb +1 -1
- data/lib/hoodie.rb +0 -14
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4665668fe53dfd89b3e22ad931ce9b6789a60d5
|
4
|
+
data.tar.gz: 33b48d2b4172c091832f7a7c1ed26704daed2bc2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02981e87e3788242e43b5cd7febd6a4ebd0174032a3616408ac4e62c2fd9dfe86ba34049f3353027d144d1928e48a58955e3f79a3a751914a9fcd686c540e4e8
|
7
|
+
data.tar.gz: 00c57d4d55f5e8195fc103f13cb3ecd494f6c01b9485898f4c56c8c8ae1af73fed30f29e61163b8d0ea0b114a03137baecf91fa5a8768b8f0a0e4dc2e8b96f8d
|
data/lib/hoodie/rash.rb
CHANGED
@@ -21,24 +21,17 @@
|
|
21
21
|
require 'anemone' unless defined?(Anemone)
|
22
22
|
require 'hoodie/memoizable' unless defined?(Memoizable)
|
23
23
|
|
24
|
+
def rash
|
25
|
+
rash ||= Rash.new(node)
|
26
|
+
end
|
27
|
+
|
24
28
|
class Rash
|
25
29
|
include Memoizable
|
26
30
|
|
27
|
-
def initialize(
|
28
|
-
@
|
29
|
-
|
30
|
-
|
31
|
-
@store = fetch
|
32
|
-
end
|
33
|
-
|
34
|
-
def fetch
|
35
|
-
results = []
|
36
|
-
Anemone.crawl(@url, discard_page_bodies: true) do |anemone|
|
37
|
-
anemone.on_pages_like(/\/#{@path}\/\w+\/\w+\.(ini|zip)$/i) do |page|
|
38
|
-
results << page.to_hash
|
39
|
-
end
|
40
|
-
end
|
41
|
-
results.reduce({}, :recursive_merge)
|
31
|
+
def initialize(node)
|
32
|
+
@node = node
|
33
|
+
memoize [:fetch, :path_for_os_ver], Stash.new(DiskStash::Cache.new)
|
34
|
+
@store ||= fetch
|
42
35
|
end
|
43
36
|
|
44
37
|
# Retrieves the value for a given key
|
@@ -66,8 +59,44 @@ class Rash
|
|
66
59
|
def keys
|
67
60
|
@store.keys
|
68
61
|
end
|
62
|
+
|
63
|
+
private # P R O P R I E T À P R I V A T A Vietato L'accesso
|
64
|
+
|
65
|
+
# Returns os partial path to the file repository.
|
66
|
+
#
|
67
|
+
# @return [String] partial path to file repo
|
68
|
+
#
|
69
|
+
def version_path
|
70
|
+
win_version = Chef::ReservedNames::Win32::Version.new
|
71
|
+
version_path = case # Targeted platform path
|
72
|
+
when win_version.windows_server_2008? then @node[:winini][:w2k8_package_path]
|
73
|
+
when win_version.windows_server_2008_r2? then @node[:winini][:w2k8r2_package_path]
|
74
|
+
when win_version.windows_server_2012_r2? then @node[:winini][:w2k12r2_package_path]
|
75
|
+
else Chef::Log.warn 'This is not a supported Windows platform.'
|
76
|
+
end
|
77
|
+
version_path
|
78
|
+
end
|
79
|
+
|
80
|
+
# Creates or retrieves the rash key/value store for the node
|
81
|
+
#
|
82
|
+
# @return nothing
|
83
|
+
#
|
84
|
+
def fetch
|
85
|
+
results = []
|
86
|
+
Anemone.crawl(@url, discard_page_bodies: true) do |anemone|
|
87
|
+
anemone.on_pages_like(/\/#{version_path}\/\w+\/\w+\.(ini|zip)$/i) do |page|
|
88
|
+
results << page.to_hash
|
89
|
+
end
|
90
|
+
end
|
91
|
+
results.reduce({}, :recursive_merge)
|
92
|
+
end
|
69
93
|
end
|
70
94
|
|
95
|
+
# Include the helpers module into the main recipe DSL
|
96
|
+
Chef::Recipe.send(:include, Rash)
|
97
|
+
Chef::Resource.send(:include, Rash)
|
98
|
+
Chef::Provider.send(:include, Rash)
|
99
|
+
|
71
100
|
# to_hash smoke cache
|
72
101
|
#
|
73
102
|
module Anemone
|
data/lib/hoodie/version.rb
CHANGED
data/lib/hoodie.rb
CHANGED
@@ -27,17 +27,3 @@ require 'hoodie/stash'
|
|
27
27
|
require 'hoodie/blank'
|
28
28
|
require 'hoodie/hash'
|
29
29
|
require 'hoodie/os'
|
30
|
-
|
31
|
-
require 'chef/recipe'
|
32
|
-
require 'chef/resource'
|
33
|
-
require 'chef/provider'
|
34
|
-
|
35
|
-
class Chef
|
36
|
-
module Hoodie
|
37
|
-
require_relative 'hoodie/Rash'
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
Chef::Recipe.send(:include, Chef::Hoodie::DSL)
|
42
|
-
Chef::Resource.send(:include, Chef::Hoodie::DSL)
|
43
|
-
Chef::Provider.send(:include, Chef::Hoodie::DSL)
|