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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9824c4d7a2bb134adca5829f984969f86720dc4
4
- data.tar.gz: 73fe530e572ab550e9687465cca5c438edbcbcc5
3
+ metadata.gz: f4665668fe53dfd89b3e22ad931ce9b6789a60d5
4
+ data.tar.gz: 33b48d2b4172c091832f7a7c1ed26704daed2bc2
5
5
  SHA512:
6
- metadata.gz: 6dba0066af8932c660c487fbc01eda1540c7f592b67685ae5c54f6ab3cda9597e1f8afe8caf1aae22c2e495e46e66db5467722583d85fcd7627c56e0789b15b6
7
- data.tar.gz: afbef3709619a840633eb1acb073216d5ca17a47cee85a01cb5e88a54d068d6939bfdbb5ed4b735365b0a9f680ba31b260c1f0ae85bc27a6d428f226d9ecee0f
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(url, path)
28
- @url = url
29
- @path = path
30
- memoize [:fetch], Stash.new(DiskStash::Cache.new)
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
@@ -18,5 +18,5 @@
18
18
  #
19
19
 
20
20
  module Hoodie
21
- VERSION = '0.2.5'
21
+ VERSION = '0.2.6'
22
22
  end
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)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hoodie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefano Harding