chef-zero 14.0.12 → 15.0.0

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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -6
  3. data/Rakefile +9 -1
  4. data/bin/chef-zero +3 -2
  5. data/chef-zero.gemspec +2 -5
  6. data/lib/chef_zero/chef_data/cookbook_data.rb +1 -1
  7. data/lib/chef_zero/chef_data/data_normalizer.rb +9 -7
  8. data/lib/chef_zero/chef_data/default_creator.rb +8 -5
  9. data/lib/chef_zero/data_store/data_already_exists_error.rb +1 -1
  10. data/lib/chef_zero/data_store/data_error.rb +1 -1
  11. data/lib/chef_zero/data_store/data_not_found_error.rb +1 -1
  12. data/lib/chef_zero/data_store/default_facade.rb +4 -4
  13. data/lib/chef_zero/data_store/interface_v2.rb +1 -1
  14. data/lib/chef_zero/data_store/memory_store.rb +3 -3
  15. data/lib/chef_zero/data_store/memory_store_v2.rb +22 -14
  16. data/lib/chef_zero/data_store/raw_file_store.rb +6 -4
  17. data/lib/chef_zero/data_store/v1_to_v2_adapter.rb +11 -1
  18. data/lib/chef_zero/data_store/v2_to_v1_adapter.rb +1 -1
  19. data/lib/chef_zero/dist.rb +9 -0
  20. data/lib/chef_zero/endpoints/acl_endpoint.rb +3 -2
  21. data/lib/chef_zero/endpoints/acls_endpoint.rb +5 -4
  22. data/lib/chef_zero/endpoints/actor_default_key_endpoint.rb +2 -1
  23. data/lib/chef_zero/endpoints/actor_endpoint.rb +3 -3
  24. data/lib/chef_zero/endpoints/actor_key_endpoint.rb +1 -1
  25. data/lib/chef_zero/endpoints/actor_keys_endpoint.rb +3 -2
  26. data/lib/chef_zero/endpoints/actors_endpoint.rb +1 -1
  27. data/lib/chef_zero/endpoints/authenticate_user_endpoint.rb +2 -1
  28. data/lib/chef_zero/endpoints/container_endpoint.rb +2 -2
  29. data/lib/chef_zero/endpoints/containers_endpoint.rb +2 -2
  30. data/lib/chef_zero/endpoints/controls_endpoint.rb +3 -2
  31. data/lib/chef_zero/endpoints/cookbook_artifact_endpoint.rb +1 -1
  32. data/lib/chef_zero/endpoints/cookbook_artifact_identifier_endpoint.rb +3 -3
  33. data/lib/chef_zero/endpoints/cookbook_artifacts_endpoint.rb +1 -1
  34. data/lib/chef_zero/endpoints/cookbook_endpoint.rb +1 -1
  35. data/lib/chef_zero/endpoints/cookbook_version_endpoint.rb +7 -5
  36. data/lib/chef_zero/endpoints/cookbooks_base.rb +4 -2
  37. data/lib/chef_zero/endpoints/cookbooks_endpoint.rb +1 -1
  38. data/lib/chef_zero/endpoints/data_bag_endpoint.rb +3 -3
  39. data/lib/chef_zero/endpoints/data_bag_item_endpoint.rb +3 -3
  40. data/lib/chef_zero/endpoints/data_bags_endpoint.rb +2 -2
  41. data/lib/chef_zero/endpoints/environment_cookbook_endpoint.rb +1 -1
  42. data/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb +13 -10
  43. data/lib/chef_zero/endpoints/environment_cookbooks_endpoint.rb +1 -1
  44. data/lib/chef_zero/endpoints/environment_endpoint.rb +2 -2
  45. data/lib/chef_zero/endpoints/environment_nodes_endpoint.rb +1 -1
  46. data/lib/chef_zero/endpoints/environment_recipes_endpoint.rb +1 -1
  47. data/lib/chef_zero/endpoints/environment_role_endpoint.rb +1 -1
  48. data/lib/chef_zero/endpoints/file_store_file_endpoint.rb +1 -1
  49. data/lib/chef_zero/endpoints/group_endpoint.rb +2 -2
  50. data/lib/chef_zero/endpoints/groups_endpoint.rb +1 -1
  51. data/lib/chef_zero/endpoints/license_endpoint.rb +1 -1
  52. data/lib/chef_zero/endpoints/node_endpoint.rb +2 -2
  53. data/lib/chef_zero/endpoints/node_identifiers_endpoint.rb +1 -1
  54. data/lib/chef_zero/endpoints/nodes_endpoint.rb +2 -2
  55. data/lib/chef_zero/endpoints/not_found_endpoint.rb +1 -1
  56. data/lib/chef_zero/endpoints/organization_association_request_endpoint.rb +2 -1
  57. data/lib/chef_zero/endpoints/organization_association_requests_endpoint.rb +1 -1
  58. data/lib/chef_zero/endpoints/organization_authenticate_user_endpoint.rb +1 -1
  59. data/lib/chef_zero/endpoints/organization_endpoint.rb +3 -2
  60. data/lib/chef_zero/endpoints/organization_user_base.rb +1 -1
  61. data/lib/chef_zero/endpoints/organization_user_default_key_endpoint.rb +1 -1
  62. data/lib/chef_zero/endpoints/organization_user_endpoint.rb +1 -1
  63. data/lib/chef_zero/endpoints/organization_user_key_endpoint.rb +2 -2
  64. data/lib/chef_zero/endpoints/organization_user_keys_endpoint.rb +1 -1
  65. data/lib/chef_zero/endpoints/organization_users_endpoint.rb +2 -2
  66. data/lib/chef_zero/endpoints/organization_validator_key_endpoint.rb +1 -1
  67. data/lib/chef_zero/endpoints/organizations_endpoint.rb +1 -1
  68. data/lib/chef_zero/endpoints/policies_endpoint.rb +1 -1
  69. data/lib/chef_zero/endpoints/policy_endpoint.rb +1 -1
  70. data/lib/chef_zero/endpoints/policy_group_endpoint.rb +2 -2
  71. data/lib/chef_zero/endpoints/policy_group_policy_endpoint.rb +3 -3
  72. data/lib/chef_zero/endpoints/policy_groups_endpoint.rb +2 -2
  73. data/lib/chef_zero/endpoints/policy_revision_endpoint.rb +1 -1
  74. data/lib/chef_zero/endpoints/policy_revisions_endpoint.rb +1 -1
  75. data/lib/chef_zero/endpoints/principal_endpoint.rb +2 -2
  76. data/lib/chef_zero/endpoints/rest_list_endpoint.rb +2 -2
  77. data/lib/chef_zero/endpoints/rest_object_endpoint.rb +3 -2
  78. data/lib/chef_zero/endpoints/role_endpoint.rb +2 -2
  79. data/lib/chef_zero/endpoints/role_environments_endpoint.rb +1 -1
  80. data/lib/chef_zero/endpoints/sandbox_endpoint.rb +3 -3
  81. data/lib/chef_zero/endpoints/sandboxes_endpoint.rb +1 -1
  82. data/lib/chef_zero/endpoints/search_endpoint.rb +8 -8
  83. data/lib/chef_zero/endpoints/searches_endpoint.rb +1 -1
  84. data/lib/chef_zero/endpoints/server_api_version_endpoint.rb +1 -1
  85. data/lib/chef_zero/endpoints/system_recovery_endpoint.rb +3 -3
  86. data/lib/chef_zero/endpoints/universe_endpoint.rb +2 -2
  87. data/lib/chef_zero/endpoints/user_association_request_endpoint.rb +2 -1
  88. data/lib/chef_zero/endpoints/user_association_requests_count_endpoint.rb +1 -1
  89. data/lib/chef_zero/endpoints/user_association_requests_endpoint.rb +1 -1
  90. data/lib/chef_zero/endpoints/user_organizations_endpoint.rb +1 -1
  91. data/lib/chef_zero/endpoints/version_endpoint.rb +3 -2
  92. data/lib/chef_zero/rest_base.rb +20 -16
  93. data/lib/chef_zero/rest_request.rb +10 -6
  94. data/lib/chef_zero/rest_router.rb +2 -2
  95. data/lib/chef_zero/rspec.rb +5 -4
  96. data/lib/chef_zero/server.rb +92 -87
  97. data/lib/chef_zero/socketless_server_map.rb +3 -1
  98. data/lib/chef_zero/solr/query/phrase.rb +2 -2
  99. data/lib/chef_zero/solr/query/range_query.rb +3 -3
  100. data/lib/chef_zero/solr/query/term.rb +1 -1
  101. data/lib/chef_zero/solr/solr_parser.rb +12 -10
  102. data/lib/chef_zero/version.rb +1 -1
  103. data/lib/chef_zero.rb +1 -1
  104. data/spec/run_oc_pedant.rb +5 -3
  105. data/spec/search_spec.rb +2 -2
  106. data/spec/socketless_server_map_spec.rb +1 -1
  107. data/spec/support/oc_pedant.rb +1 -1
  108. metadata +7 -34
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_list_endpoint"
2
+ require_relative "rest_list_endpoint"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -19,6 +19,7 @@ module ChefZero
19
19
  if user["password"] != password
20
20
  raise RestErrorResponse.new(401, "Bad username or password")
21
21
  end
22
+
22
23
  # Include only particular user data in the response
23
24
  user.keep_if { |key, value| %w{first_name last_name display_name email username}.include?(key) }
24
25
  json_response(200, {
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_object_endpoint"
3
- require "chef_zero/chef_data/data_normalizer"
2
+ require_relative "rest_object_endpoint"
3
+ require_relative "../chef_data/data_normalizer"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_list_endpoint"
2
+ require_relative "rest_list_endpoint"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -15,7 +15,7 @@ module ChefZero
15
15
  data = parse_json(request.body)
16
16
  # if they don't match, id wins.
17
17
  container_name = data["id"] || data["containername"]
18
- container_path_suffix = data["containerpath"].split("/").reject { |o| o.empty? }
18
+ container_path_suffix = data["containerpath"].split("/").reject(&:empty?)
19
19
  create_data(request, request.rest_path, container_name, to_json({}), :create_dir)
20
20
 
21
21
  json_response(201, { uri: build_uri(request.base_uri, request.rest_path + container_path_suffix + [container_name]) })
@@ -1,14 +1,15 @@
1
+ require_relative "../dist"
1
2
  module ChefZero
2
3
  module Endpoints
3
4
  # /organizations/ORG/controls
4
5
  class ControlsEndpoint < RestBase
5
6
  # ours is not to wonder why; ours is but to make the pedant specs pass.
6
7
  def get(request)
7
- error(410, "Server says 410, chef-zero says 410.")
8
+ error(410, "Server says 410, #{ChefZero::Dist::CLIENT} says 410.")
8
9
  end
9
10
 
10
11
  def post(request)
11
- error(410, "Server says 410, chef-zero says 410.")
12
+ error(410, "Server says 410, #{ChefZero::Dist::CLIENT} says 410.")
12
13
  end
13
14
  end
14
15
  end
@@ -1,4 +1,4 @@
1
- require "chef_zero/chef_data/data_normalizer"
1
+ require_relative "../chef_data/data_normalizer"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -1,4 +1,4 @@
1
- require "chef_zero/chef_data/data_normalizer"
1
+ require_relative "../chef_data/data_normalizer"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -60,8 +60,8 @@ module ChefZero
60
60
  def normalize(request, cookbook_artifact_data)
61
61
  cookbook = parse_json(cookbook_artifact_data)
62
62
  ChefData::DataNormalizer.normalize_cookbook(self, request.rest_path[0..1],
63
- cookbook, request.rest_path[3], request.rest_path[4],
64
- request.base_uri, request.method, true, api_version: request.api_version)
63
+ cookbook, request.rest_path[3], request.rest_path[4],
64
+ request.base_uri, request.method, true, api_version: request.api_version)
65
65
  end
66
66
  end
67
67
  end
@@ -1,4 +1,4 @@
1
- require "chef_zero/chef_data/data_normalizer"
1
+ require_relative "../chef_data/data_normalizer"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -1,4 +1,4 @@
1
- require "chef_zero/endpoints/cookbooks_base"
1
+ require_relative "cookbooks_base"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -1,8 +1,8 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_object_endpoint"
3
- require "chef_zero/rest_error_response"
4
- require "chef_zero/chef_data/data_normalizer"
5
- require "chef_zero/data_store/data_not_found_error"
2
+ require_relative "rest_object_endpoint"
3
+ require_relative "../rest_error_response"
4
+ require_relative "../chef_data/data_normalizer"
5
+ require_relative "../data_store/data_not_found_error"
6
6
 
7
7
  module ChefZero
8
8
  module Endpoints
@@ -27,9 +27,10 @@ module ChefZero
27
27
  if request.query_params["force"] != "true"
28
28
  raise RestErrorResponse.new(409, "The cookbook #{name} at version #{version} is frozen. Use the 'force' option to override.")
29
29
  end
30
+
30
31
  # For some reason, you are forever unable to modify "frozen?" on a frozen cookbook.
31
32
  request_body = FFI_Yajl::Parser.parse(request.body)
32
- if !request_body["frozen?"]
33
+ unless request_body["frozen?"]
33
34
  request_body["frozen?"] = true
34
35
  request.body = FFI_Yajl::Encoder.encode(request_body, pretty: true)
35
36
  end
@@ -92,6 +93,7 @@ module ChefZero
92
93
  rescue ChefZero::DataStore::DataNotFoundError
93
94
  # Not all chef versions support cookbook_artifacts
94
95
  raise unless cookbook_type == "cookbook_artifacts"
96
+
95
97
  cookbooks = []
96
98
  end
97
99
  cookbooks.each do |cookbook_name|
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
3
- require "chef_zero/chef_data/data_normalizer"
2
+ require_relative "../rest_base"
3
+ require_relative "../chef_data/data_normalizer"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -54,6 +54,7 @@ module ChefZero
54
54
  versions = []
55
55
  cookbooks_list[name].sort_by { |version| Gem::Version.new(version.dup) }.reverse_each do |version|
56
56
  break if num_versions && versions.size >= num_versions
57
+
57
58
  if constraint.satisfied_by?(Gem::Version.new(version.dup))
58
59
  versions << version
59
60
  end
@@ -66,6 +67,7 @@ module ChefZero
66
67
  cookbook["all_files"].inject([]) do |acc, file|
67
68
  part, name = file["name"].split("/")
68
69
  next acc unless part == "recipes" || File.extname(name) != ".rb"
70
+
69
71
  if name == "default.rb"
70
72
  acc << cookbook_name
71
73
  else
@@ -1,4 +1,4 @@
1
- require "chef_zero/endpoints/cookbooks_base"
1
+ require_relative "cookbooks_base"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -1,7 +1,7 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_list_endpoint"
3
- require "chef_zero/endpoints/data_bag_item_endpoint"
4
- require "chef_zero/rest_error_response"
2
+ require_relative "rest_list_endpoint"
3
+ require_relative "data_bag_item_endpoint"
4
+ require_relative "../rest_error_response"
5
5
 
6
6
  module ChefZero
7
7
  module Endpoints
@@ -1,7 +1,7 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_object_endpoint"
3
- require "chef_zero/endpoints/data_bag_item_endpoint"
4
- require "chef_zero/chef_data/data_normalizer"
2
+ require_relative "rest_object_endpoint"
3
+ require_relative "data_bag_item_endpoint"
4
+ require_relative "../chef_data/data_normalizer"
5
5
 
6
6
  module ChefZero
7
7
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_list_endpoint"
2
+ require_relative "rest_list_endpoint"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -10,7 +10,7 @@ module ChefZero
10
10
  json = FFI_Yajl::Parser.parse(contents)
11
11
  name = identity_keys.map { |k| json[k] }.select { |v| v }.first
12
12
  if name.nil?
13
- error(400, "Must specify #{identity_keys.map { |k| k.inspect }.join(' or ')} in JSON")
13
+ error(400, "Must specify #{identity_keys.map(&:inspect).join(" or ")} in JSON")
14
14
  elsif exists_data_dir?(request, request.rest_path[0..1] + ["data", name])
15
15
  error(409, "Object already exists")
16
16
  else
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/cookbooks_base"
2
+ require_relative "cookbooks_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
3
- require "chef_zero/rest_error_response"
2
+ require_relative "../rest_base"
3
+ require_relative "../rest_error_response"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -15,12 +15,14 @@ module ChefZero
15
15
  run_list = FFI_Yajl::Parser.parse(request.body)["run_list"]
16
16
  run_list.each do |run_list_entry|
17
17
  if run_list_entry =~ /(.+)::.+\@(.+)/ || run_list_entry =~ /(.+)\@(.+)/
18
- raise RestErrorResponse.new(412, "No such cookbook: #{$1}") if !cookbook_names.include?($1)
19
- raise RestErrorResponse.new(412, "No such cookbook version for cookbook #{$1}: #{$2}") if !list_data(request, request.rest_path[0..1] + ["cookbooks", $1]).include?($2)
18
+ raise RestErrorResponse.new(412, "No such cookbook: #{$1}") unless cookbook_names.include?($1)
19
+ raise RestErrorResponse.new(412, "No such cookbook version for cookbook #{$1}: #{$2}") unless list_data(request, request.rest_path[0..1] + ["cookbooks", $1]).include?($2)
20
+
20
21
  desired_versions[$1] = [ $2 ]
21
22
  else
22
23
  desired_cookbook = run_list_entry.split("::")[0]
23
- raise RestErrorResponse.new(412, "No such cookbook: #{desired_cookbook}") if !cookbook_names.include?(desired_cookbook)
24
+ raise RestErrorResponse.new(412, "No such cookbook: #{desired_cookbook}") unless cookbook_names.include?(desired_cookbook)
25
+
24
26
  desired_versions[desired_cookbook] = list_data(request, request.rest_path[0..1] + ["cookbooks", desired_cookbook])
25
27
  end
26
28
  end
@@ -35,7 +37,7 @@ module ChefZero
35
37
 
36
38
  # Depsolve!
37
39
  solved = depsolve(request, desired_versions.keys, desired_versions, environment_constraints)
38
- if !solved
40
+ unless solved
39
41
  if @last_missing_dep && !cookbook_names.include?(@last_missing_dep)
40
42
  return raise RestErrorResponse.new(412, "No such cookbook: #{@last_missing_dep}")
41
43
  elsif @last_constraint_failure
@@ -64,7 +66,7 @@ module ChefZero
64
66
 
65
67
  # If everything is already
66
68
  solve_for = unsolved[0]
67
- return desired_versions if !solve_for
69
+ return desired_versions unless solve_for
68
70
 
69
71
  # Go through each desired version of this cookbook, starting with the latest,
70
72
  # until we find one we can solve successfully with
@@ -81,10 +83,10 @@ module ChefZero
81
83
  cookbook_dependencies.each_pair do |dep_name, dep_constraint|
82
84
  # If the dep is not already in the list, add it to the list to solve
83
85
  # and bring in all environment-allowed cookbook versions to desired_versions
84
- if !new_desired_versions.key?(dep_name)
86
+ unless new_desired_versions.key?(dep_name)
85
87
  new_unsolved += [dep_name]
86
88
  # If the dep is missing, we will try other versions of the cookbook that might not have the bad dep.
87
- if !exists_data_dir?(request, request.rest_path[0..1] + ["cookbooks", dep_name])
89
+ unless exists_data_dir?(request, request.rest_path[0..1] + ["cookbooks", dep_name])
88
90
  @last_missing_dep = dep_name.to_s
89
91
  dep_not_found = true
90
92
  break
@@ -110,7 +112,8 @@ module ChefZero
110
112
  end
111
113
 
112
114
  def filter_by_constraint(versions, cookbook_name, constraint)
113
- return versions if !constraint
115
+ return versions unless constraint
116
+
114
117
  constraint = Gem::Requirement.new(constraint)
115
118
  new_versions = versions[cookbook_name]
116
119
  new_versions = new_versions.select { |version| constraint.satisfied_by?(Gem::Version.new(version.dup)) }
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/cookbooks_base"
2
+ require_relative "cookbooks_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_object_endpoint"
3
- require "chef_zero/chef_data/data_normalizer"
2
+ require_relative "rest_object_endpoint"
3
+ require_relative "../chef_data/data_normalizer"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/cookbooks_base"
2
+ require_relative "cookbooks_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/cookbooks_base"
2
+ require_relative "cookbooks_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,4 +1,4 @@
1
- require "chef_zero/rest_base"
1
+ require_relative "../rest_base"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_object_endpoint"
3
- require "chef_zero/chef_data/data_normalizer"
2
+ require_relative "rest_object_endpoint"
3
+ require_relative "../chef_data/data_normalizer"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_list_endpoint"
2
+ require_relative "rest_list_endpoint"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_object_endpoint"
3
- require "chef_zero/chef_data/data_normalizer"
2
+ require_relative "rest_object_endpoint"
3
+ require_relative "../chef_data/data_normalizer"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
  require "uuidtools"
4
4
 
5
5
  module ChefZero
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/endpoints/rest_object_endpoint"
3
- require "chef_zero/chef_data/data_normalizer"
2
+ require_relative "rest_object_endpoint"
3
+ require_relative "../chef_data/data_normalizer"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -4,7 +4,7 @@ module ChefZero
4
4
  module Endpoints
5
5
  class NotFoundEndpoint
6
6
  def call(request)
7
- [404, { "Content-Type" => "application/json" }, FFI_Yajl::Encoder.encode({ "error" => ["Object not found: #{request.env['REQUEST_PATH']}"] }, pretty: true)]
7
+ [404, { "Content-Type" => "application/json" }, FFI_Yajl::Encoder.encode({ "error" => ["Object not found: #{request.env["REQUEST_PATH"]}"] }, pretty: true)]
8
8
  end
9
9
  end
10
10
  end
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -11,6 +11,7 @@ module ChefZero
11
11
  if id !~ /(.+)-#{orgname}$/
12
12
  raise HttpErrorResponse.new(404, "Invalid ID #{id}. Must be of the form username-#{orgname}")
13
13
  end
14
+
14
15
  username = $1
15
16
  path = request.rest_path[0..-2] + [username]
16
17
  delete_data(request, path)
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -19,8 +19,9 @@ module ChefZero
19
19
  save_org = FFI_Yajl::Encoder.encode(org, pretty: true)
20
20
  if new_org["name"] != request.rest_path[-1]
21
21
  # This is a rename
22
- return error(400, "Cannot rename org #{request.rest_path[-1]} to #{new_org['name']}: rename not supported for orgs")
22
+ return error(400, "Cannot rename org #{request.rest_path[-1]} to #{new_org["name"]}: rename not supported for orgs")
23
23
  end
24
+
24
25
  set_data(request, request.rest_path + [ "org" ], save_org)
25
26
  json_response(200, {
26
27
  "uri" => (build_uri(request.base_uri, request.rest_path)).to_s,
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,4 +1,4 @@
1
- require "chef_zero/rest_base"
1
+ require_relative "../rest_base"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,5 +1,5 @@
1
- require "chef_zero/rest_base"
2
- require "chef_zero/endpoints/actor_keys_endpoint"
1
+ require_relative "../rest_base"
2
+ require_relative "actor_keys_endpoint"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -1,4 +1,4 @@
1
- require "chef_zero/rest_base"
1
+ require_relative "../rest_base"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
3
- require "chef_zero/endpoints/organization_user_base"
2
+ require_relative "../rest_base"
3
+ require_relative "organization_user_base"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
  require "uuidtools"
4
4
 
5
5
  module ChefZero
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
  require "uuidtools"
4
4
 
5
5
  module ChefZero
@@ -1,4 +1,4 @@
1
- require "chef_zero/chef_data/data_normalizer"
1
+ require_relative "../chef_data/data_normalizer"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -1,4 +1,4 @@
1
- require "chef_zero/chef_data/data_normalizer"
1
+ require_relative "../chef_data/data_normalizer"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
3
- require "chef_zero/chef_data/data_normalizer"
2
+ require_relative "../rest_base"
3
+ require_relative "../chef_data/data_normalizer"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
3
- require "chef_zero/chef_data/data_normalizer"
2
+ require_relative "../rest_base"
3
+ require_relative "../chef_data/data_normalizer"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -48,7 +48,7 @@ module ChefZero
48
48
  # If the policy revision being submitted does not exist, create it.
49
49
  # Storage: /organizations/ORG/policies/POLICY/revisions/REVISION
50
50
  policyfile_path = request.rest_path[0..1] + ["policies", policy_name, "revisions", revision_id]
51
- if !exists_data?(request, policyfile_path)
51
+ unless exists_data?(request, policyfile_path)
52
52
  create_data(request, policyfile_path[0..-2], revision_id, request.body, :create_dir)
53
53
  end
54
54
 
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
3
- require "chef_zero/chef_data/data_normalizer"
2
+ require_relative "../rest_base"
3
+ require_relative "../chef_data/data_normalizer"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -1,4 +1,4 @@
1
- require "chef_zero/chef_data/data_normalizer"
1
+ require_relative "../chef_data/data_normalizer"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -1,4 +1,4 @@
1
- require "chef_zero/chef_data/data_normalizer"
1
+ require_relative "../chef_data/data_normalizer"
2
2
 
3
3
  module ChefZero
4
4
  module Endpoints
@@ -1,6 +1,6 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero"
3
- require "chef_zero/rest_base"
2
+ require_relative "../../chef_zero"
3
+ require_relative "../rest_base"
4
4
 
5
5
  module ChefZero
6
6
  module Endpoints
@@ -1,5 +1,5 @@
1
1
  require "ffi_yajl"
2
- require "chef_zero/rest_base"
2
+ require_relative "../rest_base"
3
3
 
4
4
  module ChefZero
5
5
  module Endpoints
@@ -26,7 +26,7 @@ module ChefZero
26
26
  contents = request.body
27
27
  key = get_key(contents)
28
28
  if key.nil?
29
- error(400, "Must specify #{identity_keys.map { |k| k.inspect }.join(' or ')} in JSON")
29
+ error(400, "Must specify #{identity_keys.map(&:inspect).join(" or ")} in JSON")
30
30
  else
31
31
  create_data(request, request.rest_path, key, contents)
32
32
  json_response(201, { "uri" => (build_uri(request.base_uri, request.rest_path + [key])).to_s })