RubyGems Navigation menu

cookbooks 0.0.502

Welcome to 2017 from the Cookbooks project! A new year - but still a lot of the old code in the Cookbooks project. :) Several updates to various programs though. Since as of April 2016, updates to this gem here will happen preferentially on Monday, Wednesday or Caturday (the latter is also known as Saturday in the traditional nomenclature). The primary reason for defining these three days as possible, primary "release-days" is to try to have more stable updates. Being able to test things for a few days often helps polish things. Additionally, the workload is also reduced for me at the same time when I publish only in certain intervals. Do note that this is more a "rule of thumb" than a hard rule that can not be ignored sometimes. I may also omit some days here and there e. g. not update every week. In the long run, the recipes for the individual cookbooks may be decoupled from the ruby code, too. This is probably the cleaner approach, since the recipes may change more rapidly than the ruby code that governs them. At any rate, more programs are continually added to the Cookbooks project, but more importantly so, the existing cookbooks are improved. This is probably the biggest "selling" point for the project - recipes that should work very well, on any given system. 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 2885 "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 growth slowing down is primarily two-fold, to mention it briefly: (1) The more cookbooks were added, the fewer can be added since the amount of available programs is a finite one. (2) The other reason is that I am investing less time into the project. Still, the project is maintained consistently and I will continue to maintain it. If anyone wants to join on board as gem co-author, send me an email! 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 in 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 have ruby compile htop for me, as specified in the htop.yml file. class Feedback has been added in September 2015 to provide more information in a "readable" manner. 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.502 - February 21, 2017 (587 KB)
  2. 0.0.501 - February 21, 2017 (587 KB)
Show all versions (482 total)


  • Robert A. Heiler



SHA 256 checksum:


Total downloads 171,394

For this version 36

= Copy to clipboard Copied!




Required Ruby Version: >= 2.4.0

Required Rubygems Version: >= 2.6.10