RubyGems Navigation menu

cookbooks 0.0.429

Welcome to 2016! This time I won't state the specific month because that would otherwise get outdated rather rapidly. :) Since as of April 2016, I will try another approach here. I will try to update every Monday, Wednesday and Saturday. The reason why I try to do this is to have more stable updates - being able to test things for a few days often helps polish things. Plus, the workload is also reduced for me at the same time when I publish only in certain intervals. (Note that this refers to the maximum; I may omit some days every now and then. I may also sometimes update on another day, although only rarely, if there is some bug-fix that should be propagated as quickly as possible. And I may also make several updates on the same day as well, but other than that, I will try to adhere to this update-schedule.) As often is the case, more programs were added, but much more importantly so, the existing cookbooks were improved. Important Notice: You need one additional gem, called configuration. It is available here. (Or whatever the latest version is that will be provided there.) The reason this is not available on is because I can not call it "configuration", since that namespace already exists on - and there is no way that I will rename it, just because someone else already had the same name before me. Sorry - it is a limitation of rubygems in my opinion. The Cookbooks project currently has exactly 2870 "cookbooks" registered. It is still growing, albeit at a much slower pace than it did grow more than 10 years ago. The reason for the slow of growth is primarily two-fold: (1) The more cookbooks were added, the fewer can be added since the amount of available programs is a finite one. (2) And the other reason is that I am investing less time into the project compared to 10 years ago. Still, the project is maintained consistently and I am committed to maintain it as long as I am physically able to - provided that I am still motivated to do so, which I still am; see the release chronicles. The feedback-related part of the Cookbooks project has been put into a separate project, to keep the separation-of-concern clean. That other project is called "sanitize_cookbook_dataset" and is supplementary to the cookbooks project - so consider downloading both, please. The big transitional work to put the feedback-related code into the sanitize_cookbook_dataset project happened in August and September 2015, as you can see from the release dates which were not very active in the months before August 2015, then suddenly the pace was picked up again. You can obtain the amount of registered programs by issuing: cookbooks registered_programs? from the commandline. Description of the Cookbooks Project: The Cookbooks Project is a "collection of cookbooks". What does this mean, exactly? A cookbook is essentially a recipe that gives us sufficient information to compile or otherwise install a given program. Examples for this would be the PKGBUILD file in Archlinux, or the various debian controls files for distributions based on Debian. These different programs, the cookbooks, can usually be compiled from source in the event that the source is available - however had, the cookbooks-project also supports the plain installation of projects that do not come with the source, e. g. binary .exe files on windows, or that do not require compilation such as most ruby .gem files, as the latter are just .rb files, most of the time at least, unless you have to compile a native gem from C source, for instance. How does the format of a cookbook look like? Each cookbook is an individual yaml file which should contain all the required information to get it to install. Additional information can also be added of course, such as maintainer, extra information, tips and hints and so forth. Another project, as previously stated, class SanitizeCookbookDataset, can be used to visualize this dataset in a more colourful manner. To query the information provided by this gem, you can do something such as this here: cookbooks htop This command will invoke the file stored at bin/cookbooks which is part of this project. This file will provide you, in the above example, with information about the program called "htop" (which you should have downloaded from source before, that is; you can specify alternative configurations for the source directory in the configuration file called cookbook_directory.yml). This way the Cookbooks project allows you to build the foundation for a package-manager in Ruby on top of this project. In fact, this is how the Cookbooks project originated itself - I required a separate library that could be used to query program-associated information. Another project, the RBT ("Ruby Build Tools") will then make use of that information. The latest release added "cookbooks last_option?" as commandline instruction, to show the last option used for configure. If you wish to support this project, for now please just test it and report any bugs or lack of documentation. It is still in beta stage and it will take a while before it can stabilize. There is now perhaps a question you may ask - "why would I need this project?" That is a good question and I can not answer it for you, since you have to decide for yourself. In the simplest situation, I have collected a lot of yaml files, more than 2800 different ones, for 2800 different programs. All of this can help you if you wish to use them in one of your projects. So at the "worst case", it simply provides you with lots of individual yaml files, and a ruby wrapper to query or sanitize this information set. I make use of this in RBT when I compile a program, such as "compile htop", which will compile htop for me. If you have specific suggestions on how to make this gem more useful for others or for yourself, please do feel free to drop me an email at: Thank you and have fun!


  1. 0.0.429 - September 24, 2016 (515 KB)
  2. 0.0.428 - September 22, 2016 (515 KB)
  3. 0.0.427 - September 21, 2016 (514 KB)
  4. 0.0.426 - September 16, 2016 (514 KB)
  5. 0.0.425 - September 15, 2016 (513 KB)
Show all versions (414 total)


  • Robert A. Heiler



SHA 256 checksum:


Total downloads 129,300

For this version 108

= Copy to clipboard Copied!




Required Ruby Version: >= 2.3.1

Required Rubygems Version: >= 2.6.6