summaryrefslogtreecommitdiff
path: root/lib/chef_zero/data_store/memory_store.rb
diff options
context:
space:
mode:
authorJohn Keiser <jkeiser@opscode.com>2013-05-23 15:29:22 -0700
committerJohn Keiser <jkeiser@opscode.com>2013-05-23 15:29:22 -0700
commitf7f598923959b15a705ab63ce1768c2591f2ceee (patch)
treea9672adf48950e69bf7628611c495aafa58be124 /lib/chef_zero/data_store/memory_store.rb
parent67c15968fc323557cf4acffeb85a6c6ddaa5d9d0 (diff)
downloadchef-zero-f7f598923959b15a705ab63ce1768c2591f2ceee.tar.gz
Move data store init to MemoryStore, make it possible to use other data stores
Diffstat (limited to 'lib/chef_zero/data_store/memory_store.rb')
-rw-r--r--lib/chef_zero/data_store/memory_store.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/chef_zero/data_store/memory_store.rb b/lib/chef_zero/data_store/memory_store.rb
index 25678e0..5c94241 100644
--- a/lib/chef_zero/data_store/memory_store.rb
+++ b/lib/chef_zero/data_store/memory_store.rb
@@ -23,7 +23,28 @@ module ChefZero
module DataStore
class MemoryStore
def initialize
+ clear
+ end
+
+ def clear
@data = {}
+
+ # Create containers
+ create_dir([], 'clients')
+ create_dir([], 'cookbooks')
+ create_dir([], 'data')
+ create_dir([], 'environments')
+ create_dir([], 'file_store')
+ create_dir([], 'nodes')
+ create_dir([], 'roles')
+ create_dir([], 'sandboxes')
+ create_dir([], 'users')
+
+ # Set defaults
+ create(['clients'], 'chef-validator', '{ "validator": true }')
+ create(['clients'], 'chef-webui', '{ "admin": true }')
+ create(['environments'], '_default', '{ "description": "The default Chef environment" }')
+ create(['users'], 'admin', '{ "admin": true }')
end
def create_dir(path, name, *options)