Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


safari (5) Versions 1.0.1

Configures Safari browser

cookbook 'safari', '~> 1.0.1', :supermarket
cookbook 'safari', '~> 1.0.1'
knife supermarket install safari
knife supermarket download safari
Quality 57%

Safari Cookbook

Cookbook Version
Build Status
GitHub Issues

This cookbook provides a safari_version library method to retrieve Safari version installed, and a
safari_extension resource to install Safari extensions.


  • User must be logged into GUI before calling safari_extension (see macosx_gui_login cookbook)
  • Chef 11.14 or higher (sensitive attribute introduced)


  • Mac OS X Mavericks (10.9) or higher


Include the safari as a dependency to make library method and extension resource available.


The safari_version retrieves CFBundleShortVersionString by default:

version = safari_version # => 8.0.4

You can return other version types by passing the name (e.g. BuildVersion, CFBundleVersion, ProjectName or

bundle_version = safari_version('CFBundleVersion') # => 10600.4.10.7

Tip: use allow_any_instance_of to stub safari_version method when testing with rspec:

allow_any_instance_of(Chef::Recipe).to receive(:safari_version).and_return('8.0.4')


Installs Safari extensions. User must be logged into GUI before calling safari_extension (see
macosx_gui_login cookbook).


  • safariextz (required) - Path to Safari extension to install. Defaults to the name of the resource block.


Install a Safari extension:

safari_extension 'a safari extension' do
  safariextz '/path/to/a.safariextz'
  action :install

ChefSpec Matchers

This cookbook includes a custom ChefSpec matcher you can use to test your
own cookbooks.

Example Matcher Usage

expect(chef_run).to install_safari_extension('a safari extension').with(
  safariextz: '/path/to/a.safariextz')

Cookbook Matcher

  • install_safari_extension(safariextz)

Getting Help


Please refer to CONTRIBUTING.


MIT - see the accompanying LICENSE file for details.

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

safaridriver Applicable Versions



  • Update metadata description, source_url and issues_url


  • Production ready


  • Remove Chef 12 source_url and issues_url from metadata


  • Add extensions resource


  • Initial release

Collaborator Number Metric

1.0.1 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

1.0.1 passed this metric

Foodcritic Metric

1.0.1 failed this metric

FC066: Ensure chef_version is set in metadata: safari/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

1.0.1 passed this metric

Supported Platforms Metric

1.0.1 passed this metric

Testing File Metric

1.0.1 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

1.0.1 passed this metric