vagrant-confucius 0.1.1 → 0.1.2

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