block_callbacks.rb 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #
  2. # Cookbook Name:: application_test
  3. # Recipe:: block_callbacks
  4. #
  5. # Copyright 2012, ZephirWorks
  6. #
  7. # Licensed under the Apache License, Version 2.0 (the "License");
  8. # you may not use this file except in compliance with the License.
  9. # You may obtain a copy of the License at
  10. #
  11. # http://www.apache.org/licenses/LICENSE-2.0
  12. #
  13. # Unless required by applicable law or agreed to in writing, software
  14. # distributed under the License is distributed on an "AS IS" BASIS,
  15. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. # See the License for the specific language governing permissions and
  17. # limitations under the License.
  18. #
  19. app_name = "block_callbacks"
  20. app_dir = "#{node['application_test']['root_dir']}/#{app_name}"
  21. remove_app(app_name)
  22. tmp_dir = test_results(app_name)
  23. application app_name do
  24. repository "https://github.com/h5bp/html5-boilerplate.git"
  25. revision "0b60046431d14b6615d53ae6d8bd0ac62ae3eb6f" # v4.0.0 tag
  26. path app_dir
  27. owner node['application_test']['owner']
  28. group node['application_test']['group']
  29. #
  30. # All these hooks should be invoked with the same context
  31. #
  32. %w[before_deploy before_migrate before_symlink before_restart after_restart].each do |hook_name|
  33. send(hook_name) do # invoke the hook by name
  34. resource = @new_resource
  35. template "#{tmp_dir}/#{hook_name}" do
  36. source "hooks.erb"
  37. mode 0644
  38. variables(:release_path => resource.release_path,
  39. :shared_path => resource.shared_path)
  40. end
  41. end
  42. end
  43. end