chef
https://github.com/opscode/chef
Ruby
A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
Chef::Provider::Package::Yum#python_helper
Most of the magic in this class happens in the python helper script. The ruby side of this provider knows only enough to translate Chef-style new_resource name+package+version into a request to the python side. The python side is then responsible for knowing everything about RPMs and what is installed and what is available. The ruby side of this class should remain a lightweight translation layer to translate Chef requests into RPC requests to python. This class knows nothing about how to compare RPM versions, and does not maintain any cached state of installed/available versions and should be kept that way.
Edit
git clone [email protected]:opscode/chef.git
cd chef
open lib/chef/provider/package/yum.rb
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-Chef--Provider--Package--Yum-python_helper-for-pr
# Commit to gitgit add lib/chef/provider/package/yum.rbgit commit -m "better docs for Chef::Provider::Package::Yum#python_helper"
# Open pull requestgem install hub # on a mac you can `brew install hub`
hub fork
git push <your name> -your-name--update-docs-Chef--Provider--Package--Yum-python_helper-for-pr
hub pull-request
# Celebrate!