diff options
Diffstat (limited to 'lib/chef_zero/server.rb')
| -rw-r--r-- | lib/chef_zero/server.rb | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/lib/chef_zero/server.rb b/lib/chef_zero/server.rb index 5460d95..a5c0c0d 100644 --- a/lib/chef_zero/server.rb +++ b/lib/chef_zero/server.rb @@ -66,7 +66,7 @@ module ChefZero :port => 8889, :log_level => :info, :generate_real_keys => true, - :multi_org => true + :single_org => 'chef' }.freeze def initialize(options = {}) @@ -106,7 +106,13 @@ module ChefZero # @return [~ChefZero::DataStore] # def data_store - @data_store ||= @options[:data_store] || DataStore::MemoryStore.new + @data_store ||= begin + result = @options[:data_store] || DataStore::MemoryStore.new + if options[:single_org] + result.create_dir([ 'organizations' ], options[:single_org]) + end + result + end end # @@ -267,7 +273,7 @@ module ChefZero # } # } def load_data(contents, org_name = 'chef') - create_dir('organizations', org_name) + data_store.create_dir('organizations', org_name) %w(clients environments nodes roles users).each do |data_type| if contents[data_type] dejsonize_children(contents[data_type]).each_pair do |name, data| @@ -305,6 +311,9 @@ module ChefZero def clear_data data_store.clear + if options[:single_org] + data_store.create_dir([ 'organizations' ], options[:single_org]) + end end def request_handler(&block) @@ -362,10 +371,10 @@ module ChefZero router = RestRouter.new(open_source_endpoints) router.not_found = NotFoundEndpoint.new - if options[:multi_org] - rest_base_prefix = [] - else + if options[:single_org] rest_base_prefix = [ 'organizations', 'chef' ] + else + rest_base_prefix = [] end return proc do |env| request = RestRequest.new(env, rest_base_prefix) |
