How to share code between Chef recipes using module?

The simplest thing would be is moving this do stuff to library.

my_cookbook/libraries/myhelper.rb:

module Myhelper
  def do_stuff( repo, data )
    [...you can use all kinds of resources here as in recipe...]
  end
end

Then you can use this module in recipes like that:

another_cookbook/recipes/some_recipe.rb:

extend Myhelper
do_stuff( node[:attribute1], node[:attribute2] )

Just make sure you add a dependency on my_cookbook in metadata:

#another_cookbook/metadata.rb:
depends 'my_cookbook'
Rajesh Kumar
Follow me