vagrant-confucius 0.1.1 → 0.1.2

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: cc8d2b866473dd21763e2c1d85d52c1fd3b57ce8
4
- data.tar.gz: f05904042dd070f1b4b080067cb632657122b75d
3
+ metadata.gz: d13f743a0214cb5ae6fd46c88a82c62253a17692
4
+ data.tar.gz: 9bf107d109c834b820545e63bea27ba7266115ff
5
5
  SHA512:
6
- metadata.gz: d769c722f23d5e1ef092ffa72fde614d95a29408091474ae1a6c0a1168082c0ddc25a68f79a6c811db5b23372e8d04ead2747a034eb386c0db10d6c6923706ce
7
- data.tar.gz: b9444ab9e7927b0d0e351faa3fea7312ed55fcb8f24321eceba154f6db4e850f3b4e2d9a9e6e8af1e7e7603a3d1827c84e9219202f0658160a1a4d54a7132ee6
6
+ metadata.gz: 08d2ad2e8bf54e5a1e5f2bac40a86fb0f54b1cee84f8aea56d1f10a48076c6b70e99bef58a2d21a8c3831d3d8f0f46dc2310e98a6e3c40de8ddb297d854d0a82
7
+ data.tar.gz: 921e08dd7371940ab65456897e2df1c9a2a9fad9cf406aece938695f08a10b127b9f29f1ba4a1f35683c98e467d5a854c7de0e0c1ded0c92af54140bb8286475
@@ -1,5 +1,5 @@
1
1
  module Vagrant
2
2
  module Confucius
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end
5
5
  end
@@ -1,6 +1,6 @@
1
1
  # vim: set ai ft=ruby ts=2 sw=2 et!:
2
2
  require "vagrant/confucius/version"
3
-
3
+ #
4
4
  class ::Hash
5
5
  def deep_merge(second)
6
6
  merger = proc { |key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2 }
@@ -18,52 +18,22 @@ class ::Hash
18
18
  end
19
19
  end
20
20
 
21
- # Supplement String type with sha sha256 checksum
22
- class ::String
23
- def sha256()
24
- sha = Digest::SHA256.new
25
- sha << self.to_s
26
- return sha.hexdigest
27
- end
28
- end
29
-
30
- # options (with box defaults and default profiles)
31
- # profiles
32
- # profiles' defaults
33
- # user overrides
34
- #
35
-
36
21
  module Confucius
37
22
 
38
23
  def self.load!()
39
24
  global_options_file = '.confucius.yaml'
40
25
  global_boxes_folder = 'boxes'
41
26
  user_overrides_file = 'overrides'
42
- profile = Profile.new(global_options_file, global_boxes_folder, user_overrides_file)
43
- return profile.getOverridenProfiles()
27
+
28
+ return Profile.new(global_options_file, global_boxes_folder, user_overrides_file).getOverridenProfiles()
44
29
  end
45
30
 
46
31
  class Profile
47
32
  require 'yaml'
48
- require 'digest'
49
- require 'diskcached'
50
33
  #require 'pp'
51
34
 
52
35
  attr_reader :basedir, :config, :configFile, :overrideFile, :profiles, :boxes_folder
53
36
 
54
- def checksum_dir(dir)
55
- sha = Digest::SHA256.new
56
- files = Dir["#{dir}/**/*"].select {|f| File.file? f }
57
- for file in files
58
- sha << File.mtime(file).to_s
59
- end
60
- return sha.hexdigest
61
- end
62
-
63
- def checksum_file(file)
64
- return Digest::SHA256.file(file).hexdigest
65
- end
66
-
67
37
  def initialize(global_options_file, global_boxes_folder, user_overrides_file)
68
38
 
69
39
  @basedir = Vagrant::Environment.new().root_path
@@ -71,56 +41,11 @@ module Confucius
71
41
  @boxes_folder = File.join(@basedir, global_boxes_folder)
72
42
  @overridesFile = File.join(@basedir, user_overrides_file)
73
43
 
74
- @diskcache = Diskcached.new('/tmp/cache', 86400, autogc=true)
75
-
76
- begin
77
- config_checksum = self.checksum_file(@configFile)
78
- @config = @diskcache.get(config_checksum)
79
- #puts 'config was cached'
80
- rescue Diskcached::NotFound
81
- #puts 'config is rebuilt'
82
- @config = self.load_file(@configFile)
83
- invalidate_cache = @diskcache.set(config_checksum, @config)
84
- end
85
-
86
- begin
87
- overrides_checksum = self.checksum_file(@overridesFile)
88
- @override = @diskcache.get(overrides_checksum)
89
- #puts 'overrides was cached'
90
- rescue Diskcached::NotFound
91
- #puts 'overrides is rebuilt'
92
- @override = self.load_file(@overridesFile)
93
- invalidate_cache = @diskcache.set(overrides_checksum, @override)
94
- end
95
-
96
- begin
97
- globalOverriden_checksum = "#{config_checksum}#{overrides_checksum}".sha256()
98
- @globalOverriden = @diskcache.get(globalOverriden_checksum)
99
- #puts 'globalOverriden was cached'
100
- rescue Diskcached::NotFound
101
- #puts 'globalOverriden is rebuilt'
102
- @globalOverriden = self.conf_override(@config, @override)
103
- invalidate_cache = @diskcache.set(globalOverriden_checksum, @globalOverriden)
104
- end
105
-
106
- begin
107
- boxes_folder_checksum = self.checksum_dir(@boxes_folder)
108
- @profiles = @diskcache.get(boxes_folder_checksum)
109
- #puts 'boxes_folder was cached'
110
- rescue Diskcached::NotFound
111
- #puts 'boxes_folder is rebuilt'
112
- @profiles = self.loadProfiles()
113
- invalidate_cache = @diskcache.set(boxes_folder_checksum, @profiles)
114
- end
115
-
116
- # Let's invalidate the whole thing if not ok
117
- if invalidate_cache
118
- #puts 'invalidate_cache'
119
- @diskcache.delete('overriden')
120
- end
121
- @overriden = @diskcache.cache('overriden') do
122
- conf_override(@globalOverriden, @profiles)
123
- end
44
+ @config = self.load_file(@configFile)
45
+ @override = self.load_file(@overridesFile)
46
+ @globalOverriden = self.conf_override(@config, @override)
47
+ @profiles = self.loadProfiles()
48
+ @overriden = conf_override(@globalOverriden, @profiles)
124
49
  end
125
50
 
126
51
  def getOverridenProfiles()
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-confucius
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kronos Technologies Inc.