<?xml version="1.0" encoding="UTF-8" standalone="yes"?><oembed><version><![CDATA[1.0]]></version><provider_name><![CDATA[CloudForms Now]]></provider_name><provider_url><![CDATA[http://cloudformsblog.redhat.com]]></provider_url><author_name><![CDATA[johnhardy36]]></author_name><author_url><![CDATA[https://cloudformsblog.redhat.com/author/johnhardy36/]]></author_url><title><![CDATA[CLOUDFORMS 5.2.3 GEM&nbsp;List]]></title><type><![CDATA[link]]></type><html><![CDATA[<p>Here is the list of GEMs and their info that are included in the CLOUDFORMS 5.2.3 appliance. I thought it would be useful to post, I need this recently for some work I am doing. It was really easy as most things in CLOUDFORMS usually are I simply wrote some ruby to utilise an existing gem called GEMS, that pulls this data from rubygems.org. I wrapped the code in some file open and close, e.g. I dumped the list of gems in the appliance using &#8220;gem list &gt; gems.txt&#8221; then had my little nugget of code read that in. Here it is.<!--more--></p>
<pre class="brush: ruby; title: ; notranslate" title="">
require 'rubygems'
require 'gems'

outFile = File.open(&quot;/Users/johnhardy/Desktop/Gems-CF-5.2.3.html&quot;,&quot;w&quot;)
outFile.write &quot;&lt;html&gt;&quot;
outFile.write &quot;&lt;body&gt;&quot;
outFile.write &quot;&lt;table&gt;&quot;

gemList = File.open(&quot;/Users/johnhardy/Desktop/Gems.txt&quot;,&quot;r&quot;) do |infile|
  while (line = infile.gets)
    gemItem = line.split
    gemInfo =  Gems.info &quot;#{gemItem[0]}&quot;
    puts gemInfo['name'] + &quot;,&quot; + gemInfo['info']
    outFile.write &quot;&lt;tr&gt;&quot;
    outFile.write &quot;&lt;td&gt;&quot;
    outFile.write gemInfo['name']
    outFile.write &quot;&lt;/td&gt;&quot;
    outFile.write &quot;&lt;td&gt;&quot;
    outFile.write gemInfo['info']
    outFile.write &quot;&lt;/td&gt;&quot;
    outFile.write &quot;&lt;/tr&gt;&quot;
    end
end

outFile.write &quot;&lt;/table&gt;&quot;
outFile.write &quot;&lt;/body&gt;&quot;
outFile.write &quot;&lt;/html&gt;&quot;
outFile.close
</pre>
<p>&nbsp;</p>
<table border="1">
<tbody>
<tr>
<td>actionmailer</td>
<td>Email on Rails. Compose, deliver, receive, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments.</td>
</tr>
<tr>
<td>actionpack</td>
<td>Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.</td>
</tr>
<tr>
<td>actionwebservice</td>
<td>Adds WSDL/SOAP and XML-RPC web service support to Action Pack</td>
</tr>
<tr>
<td>activemodel</td>
<td>A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing.</td>
</tr>
<tr>
<td>activerecord</td>
<td>Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in.</td>
</tr>
<tr>
<td>activeresource</td>
<td>REST on Rails. Wrap your RESTful web app with Ruby classes and work with them like Active Record models.</td>
</tr>
<tr>
<td>activesupport</td>
<td>A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.</td>
</tr>
<tr>
<td>acts_as_list</td>
<td>This &#8220;acts_as&#8221; extension provides the capabilities for sorting and reordering a number of objects in a list. The class that has this specified needs to have a &#8220;position&#8221; column defined as an integer on the mapped database table.</td>
</tr>
<tr>
<td>acts_as_tree</td>
<td>A gem that adds simple support for organizing ActiveRecord models into parent–children relationships.</td>
</tr>
<tr>
<td>addressable</td>
<td>Addressable is a replacement for the URI implementation that is part of<br />
Ruby&#8217;s standard library. It more closely conforms to the relevant RFCs and<br />
adds support for IRIs and URI templates.</td>
</tr>
<tr>
<td>akami</td>
<td>Building Web Service Security</td>
</tr>
<tr>
<td>american_date</td>
<td>American style month/day/year date parsing for ruby 1.9</td>
</tr>
<tr>
<td>amq-protocol</td>
<td>amq-protocol is an AMQP 0.9.1 serialization library for Ruby. It is not an<br />
AMQP client: amq-protocol only handles serialization and deserialization.<br />
If you want to write your own AMQP client, this gem can help you with that.</td>
</tr>
<tr>
<td>ancestry</td>
<td>Ancestry allows the records of a ActiveRecord model to be organized in a tree<br />
structure, using a single, intuitively formatted database column. It exposes<br />
all the standard tree structure relations (ancestors, parent, root, children,<br />
siblings, descendants) and all of them can be fetched in a single sql query.<br />
Additional features are named_scopes, integrity checking, integrity restoration,<br />
arrangement of (sub)tree into hashes and different strategies for dealing with<br />
orphaned records.</td>
</tr>
<tr>
<td>arel</td>
<td>Arel is a SQL AST manager for Ruby. It</p>
<p>1. Simplifies the generation of complex SQL queries<br />
2. Adapts to various RDBMSes</p>
<p>It is intended to be a framework framework; that is, you can build your own ORM<br />
with it, focusing on innovative object and collection modeling as opposed to<br />
database compatibility and query generation.</td>
</tr>
<tr>
<td>arrayfields</td>
<td>string/symbol keyword access to arrays</td>
</tr>
<tr>
<td>awesome_print</td>
<td>Great Ruby dubugging companion: pretty print Ruby objects to visualize their structure. Supports custom object formatting via plugins</td>
</tr>
<tr>
<td>aws-sdk</td>
<td>AWS SDK for Ruby</td>
</tr>
<tr>
<td>bcrypt-ruby</td>
<td>bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project<br />
for hashing passwords. The bcrypt Ruby gem provides a simple wrapper for safely handling<br />
passwords.</td>
</tr>
<tr>
<td>bigdecimal</td>
<td>This library provides arbitrary-precision decimal floating-point number class.</td>
</tr>
<tr>
<td>binary_struct</td>
<td>BinaryStruct is a class for dealing with binary structured data. It simplifies<br />
expressing what the binary structure looks like, with the ability to name the<br />
parts. Given this definition, it is easy to encode/decode the binary structure<br />
from/to a Hash.</td>
</tr>
<tr>
<td>builder</td>
<td>Builder provides a number of builder objects that make creating structured data<br />
simple to do. Currently the following builder objects are supported:* XML Markup<br />
* XML Events</td>
</tr>
<tr>
<td>bundler</td>
<td>Bundler manages an application&#8217;s dependencies through its entire life, across many machines, systematically and repeatably</td>
</tr>
<tr>
<td>bunny</td>
<td>Easy to use, feature complete Ruby client for RabbitMQ 2.0 and later versions.</td>
</tr>
<tr>
<td>capybara</td>
<td>Capybara is an integration testing tool for rack based web applications. It simulates how a user would interact with a website</td>
</tr>
<tr>
<td>childprocess</td>
<td>This gem aims at being a simple and reliable solution for controlling external programs running in the background on any Ruby / OS combination.</td>
</tr>
<tr>
<td>color</td>
<td>Color is a Ruby library to provide basic RGB, CMYK, HSL, and other colourspace<br />
manipulation support to applications that require it. It also provides 152<br />
named RGB colours (184 with spelling variations) that are commonly supported in<br />
HTML, SVG, and X11 applications. A technique for generating monochromatic<br />
contrasting palettes is also included.The Color library performs purely mathematical manipulation of the colours<br />
based on colour theory without reference to colour profiles (such as sRGB or<br />
Adobe RGB). For most purposes, when working with RGB and HSL colour spaces,<br />
this won&#8217;t matter. Absolute colour spaces (like CIE L*a*b* and XYZ) and cannot<br />
be reliably converted to relative colour spaces (like RGB) without colour<br />
profiles.</p>
<p>Color version 1.6 primarily adds a colour matching method for RGB and<br />
experimental CIE L*a*b* and XYZ conversion methods for use with the colour<br />
matching method.</p>
<p>Barring bugs introduced in this release, this is the last version of color that<br />
supports Ruby 1.8, so make sure that your gem specification is set properly (to<br />
<tt>~&gt; 1.6</tt>) if that matters for your application.</td>
</tr>
<tr>
<td>colored</td>
<td>&gt;&gt; puts &#8220;this is red&#8221;.red</p>
<p>&gt;&gt; puts &#8220;this is red with a blue background (read: ugly)&#8221;.red_on_blue</p>
<p>&gt;&gt; puts &#8220;this is red with an underline&#8221;.red.underline</p>
<p>&gt;&gt; puts &#8220;this is really bold and really blue&#8221;.bold.blue</p>
<p>&gt;&gt; logger.debug &#8220;hey this is broken!&#8221;.red_on_yellow # in rails</p>
<p>&gt;&gt; puts Color.red &#8220;This is red&#8221; # but this part is mostly untested</td>
</tr>
<tr>
<td>daemons</td>
<td>Daemons provides an easy way to wrap existing ruby scripts (for example a self-written server) to be run as a daemon and to be controlled by simple start/stop/restart commands. You can also call blocks as daemons and control them from the parent or just daemonize the current process. Besides this basic functionality, daemons offers many advanced features like exception backtracing and logging (in case your ruby script crashes) and monitoring and automatic restarting of your processes if they crash.</td>
</tr>
<tr>
<td>dalli</td>
<td>High performance memcached client for Ruby</td>
</tr>
<tr>
<td>default_value_for</td>
<td>The default_value_for plugin allows one to define default values for ActiveRecord models in a declarative manner</td>
</tr>
<tr>
<td>diff-lcs</td>
<td>Diff::LCS computes the difference between two Enumerable sequences using the<br />
McIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities<br />
to create a simple HTML diff output format and a standard diff-like tool.This is release 1.2.4, fixing a bug introduced after diff-lcs 1.1.3 that did<br />
not properly prune common sequences at the beginning of a comparison set.<br />
Thanks to Paul Kunysch for fixing this issue.</p>
<p>Coincident with the release of diff-lcs 1.2.3, we reported an issue with<br />
Rubinius in 1.9 mode<br />
({rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268]).<br />
We are happy to report that this issue has been resolved.</td>
</tr>
<tr>
<td>elif</td>
<td>A port of File::ReadBackwards, the Perl module by Uri Guttman, for reading a file in reverse, line by line. This can often be helpful for things like log files, where the interesting information is usually at the end.</td>
</tr>
<tr>
<td>erubis</td>
<td>Erubis is an implementation of eRuby and has the following features:</p>
<p>* Very fast, almost three times faster than ERB and about 10% faster than eruby.<br />
* Multi-language support (Ruby/PHP/C/Java/Scheme/Perl/Javascript)<br />
* Auto escaping support<br />
* Auto trimming spaces around &#8221;<br />
* Embedded pattern changeable (default &#8221;)<br />
* Enable to handle Processing Instructions (PI) as embedded pattern (ex. &#8221;)<br />
* Context object available and easy to combine eRuby template with YAML datafile<br />
* Print statement available<br />
* Easy to extend and customize in subclass<br />
* Ruby on Rails support</td>
</tr>
<tr>
<td>eventmachine</td>
<td>EventMachine implements a fast, single-threaded engine for arbitrary network<br />
communications. It&#8217;s extremely easy to use in Ruby. EventMachine wraps all<br />
interactions with IP sockets, allowing programs to concentrate on the<br />
implementation of network protocols. It can be used to create both network<br />
servers and clients. To create a server or client, a Ruby program only needs<br />
to specify the IP address and port, and provide a Module that implements the<br />
communications protocol. Implementations of several standard network protocols<br />
are provided with the package, primarily to serve as examples. The real goal<br />
of EventMachine is to enable programs to easily interface with other programs<br />
using TCP/IP, especially if custom protocols are required.</td>
</tr>
<tr>
<td>excon</td>
<td>EXtended http(s) CONnections</td>
</tr>
<tr>
<td>ezcrypto</td>
<td>Makes it easier and safer to write crypto code.</td>
</tr>
<tr>
<td>facade</td>
<td>The facade library allows you to mixin singleton methods from classes<br />
or modules as instance methods of the extending class.</td>
</tr>
<tr>
<td>factory_girl</td>
<td>factory_girl provides a framework and DSL for defining and<br />
using factories &#8211; less error-prone, more explicit, and<br />
all-around easier to work with than fixtures.</td>
</tr>
<tr>
<td>fattr</td>
<td>a &#8220;fatter attr&#8221; for ruby</td>
</tr>
<tr>
<td>ffi</td>
<td>Ruby FFI library</td>
</tr>
<tr>
<td>fog</td>
<td>The Ruby cloud services library. Supports all major cloud providers including AWS, Rackspace, Linode, Blue Box, StormOnDemand, and many others. Full support for most AWS services including EC2, S3, CloudWatch, SimpleDB, ELB, and RDS.</td>
</tr>
<tr>
<td>formatador</td>
<td>STDOUT text formatting</td>
</tr>
<tr>
<td>gyoku</td>
<td>Gyoku translates Ruby Hashes to XML</td>
</tr>
<tr>
<td>haml</td>
<td>Haml (HTML Abstraction Markup Language) is a layer on top of HTML or XML that&#8217;s<br />
designed to express the structure of documents in a non-repetitive, elegant, and<br />
easy way by using indentation rather than closing tags and allowing Ruby to be<br />
embedded with ease. It was originally envisioned as a plugin for Ruby on Rails,<br />
but it can function as a stand-alone templating engine.</td>
</tr>
<tr>
<td>haml-rails</td>
<td>Haml-rails provides Haml generators for Rails 3. It also enables Haml as the templating engine for you, so you don&#8217;t have to screw around in your own application.rb when your Gemfile already clearly indicated what templating engine you have installed. Hurrah.</td>
</tr>
<tr>
<td>handsoap</td>
<td>Handsoap is a library for creating SOAP clients in Ruby</td>
</tr>
<tr>
<td>highline</td>
<td>A high-level IO library that provides validation, type conversion, and more for<br />
command-line interfaces. HighLine also includes a complete menu system that can<br />
crank out anything from simple list selection to complete shells with just<br />
minutes of work.</td>
</tr>
<tr>
<td>hike</td>
<td>A Ruby library for finding files in a set of paths.</td>
</tr>
<tr>
<td>hirb</td>
<td>Hirb provides a mini view framework for console applications and uses it to improve ripl(irb)&#8217;s default inspect output. Given an object or array of objects, hirb renders a view based on the object&#8217;s class and/or ancestry. Hirb offers reusable views in the form of helper classes. The two main helpers, Hirb::Helpers::Table and Hirb::Helpers::Tree, provide several options for generating ascii tables and trees. Using Hirb::Helpers::AutoTable, hirb has useful default views for at least ten popular database gems i.e. Rails&#8217; ActiveRecord::Base. Other than views, hirb offers a smart pager and a console menu. The smart pager only pages when the output exceeds the current screen size. The menu is used in conjunction with tables to offer two dimensional menus.</td>
</tr>
<tr>
<td>hoe</td>
<td>Hoe is a rake/rubygems helper for project Rakefiles. It helps you<br />
manage, maintain, and release your project and includes a dynamic<br />
plug-in system allowing for easy extensibility. Hoe ships with<br />
plug-ins for all your usual project tasks including rdoc generation,<br />
testing, packaging, deployment, and announcement..See class rdoc for help. Hint: `ri Hoe` or any of the plugins listed<br />
below.</p>
<p>For extra goodness, see: <a href="http://docs.seattlerb.org/hoe/Hoe.pdf" rel="nofollow">http://docs.seattlerb.org/hoe/Hoe.pdf</a></td>
</tr>
<tr>
<td>httparty</td>
<td>Makes http fun! Also, makes consuming restful web services dead easy.</td>
</tr>
<tr>
<td>httpclient</td>
<td>gives something like the functionality of libwww-perl (LWP) in Ruby</td>
</tr>
<tr>
<td>httpi</td>
<td>Common interface for Ruby&#8217;s HTTP libraries</td>
</tr>
<tr>
<td>i18n</td>
<td>New wave Internationalization support for Ruby.</td>
</tr>
<tr>
<td>inifile</td>
<td>Although made popular by Windows, INI files can be used on any system thanks<br />
to their flexibility. They allow a program to store configuration data, which<br />
can then be easily parsed and changed. Two notable systems that use the INI<br />
format are Samba and Trac.More information about INI files can be found on the [Wikipedia Page](<a href="http://en.wikipedia.org/wiki/INI_file" rel="nofollow">http://en.wikipedia.org/wiki/INI_file</a>).</p>
<p>### Properties</p>
<p>The basic element contained in an INI file is the property. Every property has<br />
a name and a value, delimited by an equals sign *=*. The name appears to the<br />
left of the equals sign and the value to the right.</p>
<p>name=value</p>
<p>### Sections</p>
<p>Section declarations start with *[* and end with *]* as in `[section1]` and<br />
`[section2]` shown in the example below. The section declaration marks the<br />
beginning of a section. All properties after the section declaration will be<br />
associated with that section.</p>
<p>### Comments</p>
<p>All lines beginning with a semicolon *;* or a number sign *#* are considered<br />
to be comments. Comment lines are ignored when parsing INI files.</p>
<p>### Example File Format</p>
<p>A typical INI file might look like this:</p>
<p>[section1]<br />
; some comment on section1<br />
var1 = foo<br />
var2 = doodle<br />
var3 = multiline values<br />
are also possible</p>
<p>[section2]<br />
# another comment<br />
var1 = baz<br />
var2 = shoodle</td>
</tr>
<tr>
<td>io-console</td>
<td>add console capabilities to IO instances.</td>
</tr>
<tr>
<td>io-extra</td>
<td>Adds the IO.closefrom, IO.fdwalk, IO.pread, IO.pread_ptr, IO.pwrite, and<br />
IO.writev singleton methods as well as the IO#directio, IO#directio? and<br />
IO#ttyname instance methods (for those platforms that support them).</td>
</tr>
<tr>
<td>journey</td>
<td>Journey is a router. It routes requests.</td>
</tr>
<tr>
<td>json</td>
<td>This is a JSON implementation as a Ruby extension in C.</td>
</tr>
<tr>
<td>json_pure</td>
<td>This is a JSON implementation in pure Ruby.</td>
</tr>
<tr>
<td>linux_admin</td>
<td>LinuxAdmin is a module to simplify management of linux systems.<br />
It should be a single place to manage various system level configurations,<br />
registration, updates, etc.</td>
</tr>
<tr>
<td>little-plugger</td>
<td>LittlePlugger is a module that provides Gem based plugin management.<br />
By extending your own class or module with LittlePlugger you can easily<br />
manage the loading and initializing of plugins provided by other gems.</td>
</tr>
<tr>
<td>log4r</td>
<td>See also: <a href="http://logging.apache.org/log4j" rel="nofollow">http://logging.apache.org/log4j</a></td>
</tr>
<tr>
<td>logging</td>
<td>Logging is a flexible logging library for use in Ruby programs based on the<br />
design of Java&#8217;s log4j library. It features a hierarchical logging system,<br />
custom level names, multiple output destinations per log event, custom<br />
formatting, and more.</td>
</tr>
<tr>
<td>mail</td>
<td>A really Ruby Mail handler.</td>
</tr>
<tr>
<td>main</td>
<td>a class factory and dsl for generating command line programs real quick</td>
</tr>
<tr>
<td>map</td>
<td>the awesome ruby container you&#8217;ve always wanted: a string/symbol indifferent ordered hash that works in all rubies</td>
</tr>
<tr>
<td>mime-types</td>
<td>The mime-types library provides a library and registry for information about<br />
MIME content type definitions. It can be used to determine defined filename<br />
extensions for MIME types, or to use filename extensions to look up the likely<br />
MIME type definitions.MIME content types are used in MIME-compliant communications, as in e-mail or<br />
HTTP traffic, to indicate the type of content which is transmitted. The<br />
mime-types library provides the ability for detailed information about MIME<br />
entities (provided as an enumerable collection of MIME::Type objects) to be<br />
determined and used programmatically. There are many types defined by RFCs and<br />
vendors, so the list is long but by definition incomplete; don&#8217;t hesitate to to<br />
add additional type definitions (see Contributing.rdoc). The primary sources<br />
for MIME type definitions found in mime-types is the IANA collection of<br />
registrations (see below for the link), RFCs, and W3C recommendations.</p>
<p>This is release 2.2, mostly changing how the MIME type registry is updated from<br />
the IANA registry (the format of which was incompatibly changed shortly before<br />
this release) and taking advantage of the extra data available from IANA<br />
registry in the form of MIME::Type#xrefs. In addition, the {LTSW<br />
list}[http://www.ltsw.se/knbase/internet/mime.htp] has been dropped as a<br />
supported list.</p>
<p>As a reminder, mime-types 2.x is no longer compatible with Ruby 1.8 and<br />
mime-types 1.x is only being maintained for security issues. No new MIME types<br />
or features will be added.</p>
<p>mime-types (previously called MIME::Types for Ruby) was originally based on<br />
MIME::Types for Perl by Mark Overmeer, copyright 2001 &#8211; 2009. It is built to<br />
conform to the MIME types of RFCs 2045 and 2231. It tracks the {IANA Media<br />
Types registry}[https://www.iana.org/assignments/media-types/media-types.xhtml]<br />
with some types added by the users of mime-types.</td>
</tr>
<tr>
<td>minitest</td>
<td>minitest provides a complete suite of testing facilities supporting<br />
TDD, BDD, mocking, and benchmarking.&#8221;I had a class with Jim Weirich on testing last week and we were<br />
allowed to choose our testing frameworks. Kirk Haines and I were<br />
paired up and we cracked open the code for a few test<br />
frameworks&#8230;</p>
<p>I MUST say that minitest is *very* readable / understandable<br />
compared to the &#8216;other two&#8217; options we looked at. Nicely done and<br />
thank you for helping us keep our mental sanity.&#8221;</p>
<p>&#8212; Wayne E. Seguin</p>
<p>minitest/unit is a small and incredibly fast unit testing framework.<br />
It provides a rich set of assertions to make your tests clean and<br />
readable.</p>
<p>minitest/spec is a functionally complete spec engine. It hooks onto<br />
minitest/unit and seamlessly bridges test assertions over to spec<br />
expectations.</p>
<p>minitest/benchmark is an awesome way to assert the performance of your<br />
algorithms in a repeatable manner. Now you can assert that your newb<br />
co-worker doesn&#8217;t replace your linear algorithm with an exponential<br />
one!</p>
<p>minitest/mock by Steven Baker, is a beautifully tiny mock (and stub)<br />
object framework.</p>
<p>minitest/pride shows pride in testing and adds coloring to your test<br />
output. I guess it is an example of how to write IO pipes too. 😛</p>
<p>minitest/unit is meant to have a clean implementation for language<br />
implementors that need a minimal set of methods to bootstrap a working<br />
test suite. For example, there is no magic involved for test-case<br />
discovery.</p>
<p>&#8220;Again, I can&#8217;t praise enough the idea of a testing/specing<br />
framework that I can actually read in full in one sitting!&#8221;</p>
<p>&#8212; Piotr Szotkowski</p>
<p>Comparing to rspec:</p>
<p>rspec is a testing DSL. minitest is ruby.</p>
<p>&#8212; Adam Hawkins, &#8220;Bow Before MiniTest&#8221;</p>
<p>minitest doesn&#8217;t reinvent anything that ruby already provides, like:<br />
classes, modules, inheritance, methods. This means you only have to<br />
learn ruby to use minitest and all of your regular OO practices like<br />
extract-method refactorings still apply.</td>
</tr>
<tr>
<td>more_core_extensions</td>
<td>MoreCoreExtensions are a set of core extensions beyond those provided by ActiveSupport.</td>
</tr>
<tr>
<td>multi_json</td>
<td>A common interface to multiple JSON libraries, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, NSJSONSerialization, gson.rb, JrJackson, and OkJson.</td>
</tr>
<tr>
<td>multi_xml</td>
<td>Provides swappable XML backends utilizing LibXML, Nokogiri, Ox, or REXML.</td>
</tr>
<tr>
<td>net-http-persistent</td>
<td>Manages persistent connections using Net::HTTP plus a speed fix for Ruby 1.8.<br />
It&#8217;s thread-safe too!Using persistent HTTP connections can dramatically increase the speed of HTTP.<br />
Creating a new HTTP connection for every request involves an extra TCP<br />
round-trip and causes TCP congestion avoidance negotiation to start over.</p>
<p>Net::HTTP supports persistent connections with some API methods but does not<br />
handle reconnection gracefully. Net::HTTP::Persistent supports reconnection<br />
and retry according to RFC 2616.</td>
</tr>
<tr>
<td>net-ldap</td>
<td>Net::LDAP for Ruby (also called net-ldap) implements client access for the<br />
Lightweight Directory Access Protocol (LDAP), an IETF standard protocol for<br />
accessing distributed directory services. Net::LDAP is written completely in<br />
Ruby with no external dependencies. It supports most LDAP client features and a<br />
subset of server features as well.Net::LDAP has been tested against modern popular LDAP servers including<br />
OpenLDAP and Active Directory. The current release is mostly compliant with<br />
earlier versions of the IETF LDAP RFCs (2251–2256, 2829–2830, 3377, and 3771).<br />
Our roadmap for Net::LDAP 1.0 is to gain full <em>client</em> compliance with<br />
the most recent LDAP RFCs (4510–4519, plus portions of 4520–4532).</td>
</tr>
<tr>
<td>net-ping</td>
<td>The net-ping library provides a ping interface for Ruby. It includes<br />
separate TCP, HTTP, LDAP, ICMP, UDP, WMI (for Windows) and external ping<br />
classes.</td>
</tr>
<tr>
<td>net-scp</td>
<td>A pure Ruby implementation of the SCP client protocol</td>
</tr>
<tr>
<td>net-sftp</td>
<td>A pure Ruby implementation of the SFTP client protocol</td>
</tr>
<tr>
<td>net-ssh</td>
<td>Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2.</td>
</tr>
<tr>
<td>netrc</td>
<td>This library can read and update netrc files, preserving formatting including comments and whitespace.</td>
</tr>
<tr>
<td>nokogiri</td>
<td>Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri&#8217;s<br />
many features is the ability to search documents via XPath or CSS3 selectors.XML is like violence &#8211; if it doesn’t solve your problems, you are not using<br />
enough of it.</td>
</tr>
<tr>
<td>nori</td>
<td>XML to Hash translator</td>
</tr>
<tr>
<td>open4</td>
<td>open child process with handles on pid, stdin, stdout, and stderr: manage child processes and their io handles easily.</td>
</tr>
<tr>
<td>ovirt_metrics</td>
<td>OvirtMetrics is an ActiveRecord-based gem for reading the oVirt History database.</td>
</tr>
<tr>
<td>parallel</td>
<td>Run any kind of code in parallel processes</td>
</tr>
<tr>
<td>pdf-writer</td>
<td>This library provides the ability to create PDF documents using only native Ruby libraries. There are several demo programs available in the demo/ directory. The canonical documentation for PDF::Writer is &#8220;manual.pdf&#8221;, which can be generated using bin/techbook (just &#8220;techbook&#8221; for RubyGem users) and the manual file &#8220;manual.pwd&#8221;.</td>
</tr>
<tr>
<td>pg</td>
<td>Pg is the Ruby interface to the {PostgreSQL RDBMS}[http://www.postgresql.org/].</p>
<p>It works with {PostgreSQL 8.4 and later}[http://www.postgresql.org/support/versioning/].</p>
<p>A small example usage:</p>
<p>#!/usr/bin/env ruby</p>
<p>require &#8216;pg&#8217;</p>
<p># Output a table of current connections to the DB<br />
conn = PG.connect( dbname: &#8216;sales&#8217; )<br />
conn.exec( &#8220;SELECT * FROM pg_stat_activity&#8221; ) do |result|<br />
puts &#8221; PID | User | Query&#8221;<br />
result.each do |row|<br />
puts &#8221; %7d | %-16s | %s &#8221; %<br />
row.values_at(&#8216;procpid&#8217;, &#8216;usename&#8217;, &#8216;current_query&#8217;)<br />
end<br />
end</td>
</tr>
<tr>
<td>Platform</td>
<td>Hopefully robust platform sensing</td>
</tr>
<tr>
<td>polyglot</td>
<td>The Polyglot library allows a Ruby module to register a loader<br />
for the file type associated with a filename extension, and it<br />
augments &#8216;require&#8217; to find and load matching files.</td>
</tr>
<tr>
<td>princely</td>
<td>A wrapper for the PrinceXML PDF generation library.</td>
</tr>
<tr>
<td>prototype-rails</td>
<td>Prototype, Scriptaculous, and RJS for Ruby on Rails</td>
</tr>
<tr>
<td>qpid_messaging</td>
<td>Qpid is an enterprise messaging framework.</td>
</tr>
<tr>
<td>rack</td>
<td>Rack provides a minimal, modular and adaptable interface for developing<br />
web applications in Ruby. By wrapping HTTP requests and responses in<br />
the simplest way possible, it unifies and distills the API for web<br />
servers, web frameworks, and software in between (the so-called<br />
middleware) into a single method call.Also see <a href="http://rack.github.com/" rel="nofollow">http://rack.github.com/</a>.</td>
</tr>
<tr>
<td>rack-cache</td>
<td>Rack::Cache is suitable as a quick drop-in component to enable HTTP caching for Rack-based applications that produce freshness (Expires, Cache-Control) and/or validation (Last-Modified, ETag) information.</td>
</tr>
<tr>
<td>rack-ssl</td>
<td>Rack middleware to force SSL/TLS.</td>
</tr>
<tr>
<td>rack-test</td>
<td>Rack::Test is a small, simple testing API for Rack apps. It can be used on its<br />
own or as a reusable starting point for Web frameworks and testing libraries<br />
to build on. Most of its initial functionality is an extraction of Merb 1.0&#8217;s<br />
request helpers feature.</td>
</tr>
<tr>
<td>rails</td>
<td>Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.</td>
</tr>
<tr>
<td>railties</td>
<td>Rails internals: application bootup, plugins, generators, and rake tasks.</td>
</tr>
<tr>
<td>rake</td>
<td>Rake is a Make-like program implemented in Ruby. Tasks and dependencies are<br />
specified in standard Ruby syntax.Rake has the following features:</p>
<p>* Rakefiles (rake&#8217;s version of Makefiles) are completely defined in<br />
standard Ruby syntax. No XML files to edit. No quirky Makefile<br />
syntax to worry about (is that a tab or a space?)</p>
<p>* Users can specify tasks with prerequisites.</p>
<p>* Rake supports rule patterns to synthesize implicit tasks.</p>
<p>* Flexible FileLists that act like arrays but know about manipulating<br />
file names and paths.</p>
<p>* A library of prepackaged tasks to make building rakefiles easier. For example,<br />
tasks for building tarballs and publishing to FTP or SSH sites. (Formerly<br />
tasks for building RDoc and Gems were included in rake but they&#8217;re now<br />
available in RDoc and RubyGems respectively.)</p>
<p>* Supports parallel execution of tasks.</td>
</tr>
<tr>
<td>rdoc</td>
<td>RDoc produces HTML and command-line documentation for Ruby projects. RDoc<br />
includes the +rdoc+ and +ri+ tools for generating and displaying documentation<br />
from the command-line.</td>
</tr>
<tr>
<td>rest-client</td>
<td>A simple HTTP and REST client for Ruby, inspired by the Sinatra microframework style of specifying actions: get, put, post, delete.</td>
</tr>
<tr>
<td>rspec</td>
<td>BDD for Ruby</td>
</tr>
<tr>
<td>rspec-core</td>
<td>BDD for Ruby. RSpec runner and example groups.</td>
</tr>
<tr>
<td>rspec-expectations</td>
<td>rspec expectations (should[_not] and matchers)</td>
</tr>
<tr>
<td>rspec-mocks</td>
<td>RSpec&#8217;s &#8216;test double&#8217; framework, with support for stubbing and mocking</td>
</tr>
<tr>
<td>rspec-rails</td>
<td>RSpec for Rails</td>
</tr>
<tr>
<td>ruby-graphviz</td>
<td>Ruby/Graphviz provides an interface to layout and generate images of directed graphs in a variety of formats (PostScript, PNG, etc.) using GraphViz.</td>
</tr>
<tr>
<td>ruby-hmac</td>
<td>This module provides common interface to HMAC functionality. HMAC is a kind of &#8220;Message Authentication Code&#8221; (MAC) algorithm whose standard is documented in RFC2104. Namely, a MAC provides a way to check the integrity of information transmitted over or stored in an unreliable medium, based on a secret key.</p>
<p>Originally written by Daiki Ueno. Converted to a RubyGem by Geoffrey Grosenbach</td>
</tr>
<tr>
<td>ruby-plsql</td>
<td>ruby-plsql gem provides simple Ruby API for calling Oracle PL/SQL procedures.<br />
It could be used both for accessing Oracle PL/SQL API procedures in legacy applications<br />
as well as it could be used to create PL/SQL unit tests using Ruby testing libraries.</td>
</tr>
<tr>
<td>ruby-progressbar</td>
<td>Ruby/ProgressBar is an extremely flexible text progress bar library for Ruby.<br />
The output can be customized with a flexible formatting system including:<br />
percentage, bars of various formats, elapsed time and estimated time remaining.</td>
</tr>
<tr>
<td>rubyforge</td>
<td>A script which automates a limited set of rubyforge operations.</p>
<p>* Run &#8216;rubyforge help&#8217; for complete usage.<br />
* Setup: For first time users AND upgrades to 0.4.0:<br />
* rubyforge setup (deletes your username and password, so run sparingly!)<br />
* edit ~/.rubyforge/user-config.yml<br />
* rubyforge config<br />
* For all rubyforge upgrades, run &#8216;rubyforge config&#8217; to ensure you have latest.</td>
</tr>
<tr>
<td>rubyrep</td>
<td>This rubygem does not have a description or summary.</td>
</tr>
<tr>
<td>rubywbem</td>
<td>This is a short description</td>
</tr>
<tr>
<td>rubyzip</td>
<td>rubyzip is a ruby module for reading and writing zip files</td>
</tr>
<tr>
<td>rufus-lru</td>
<td>LruHash class, a Hash with a max size, controlled by a LRU mechanism</td>
</tr>
<tr>
<td>rufus-scheduler</td>
<td>job scheduler for Ruby (at, cron, in and every jobs).</td>
</tr>
<tr>
<td>ruport</td>
<td>Ruby Reports is a software library that aims to make the task of reporting<br />
less tedious and painful. It provides tools for data acquisition,<br />
database interaction, formatting, and parsing/munging.</td>
</tr>
<tr>
<td>savon</td>
<td>Heavy metal SOAP client</td>
</tr>
<tr>
<td>selenium-webdriver</td>
<td>WebDriver is a tool for writing automated tests of websites. It aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application.</td>
</tr>
<tr>
<td>shoulda-matchers</td>
<td>Making tests easy on the fingers and eyes</td>
</tr>
<tr>
<td>simple-rss</td>
<td>A simple, flexible, extensible, and liberal RSS and Atom reader for Ruby. It is designed to be backwards compatible with the standard RSS parser, but will never do RSS generation.</td>
</tr>
<tr>
<td>snmp</td>
<td>A Ruby implementation of SNMP (the Simple Network Management Protocol).</td>
</tr>
<tr>
<td>soap4r</td>
<td>An implementation of SOAP 1.1 for Ruby.</td>
</tr>
<tr>
<td>sprockets</td>
<td>Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.</td>
</tr>
<tr>
<td>state_machine</td>
<td>Adds support for creating state machines for attributes on any Ruby class</td>
</tr>
<tr>
<td>syntax</td>
<td>Syntax is Ruby library for performing simple syntax highlighting.</td>
</tr>
<tr>
<td>thin</td>
<td>A thin and fast web server</td>
</tr>
<tr>
<td>thor</td>
<td>Thor is a toolkit for building powerful command-line interfaces.</td>
</tr>
<tr>
<td>tilt</td>
<td>Generic interface to multiple Ruby template engines</td>
</tr>
<tr>
<td>timecop</td>
<td>A gem providing &#8220;time travel&#8221; and &#8220;time freezing&#8221; capabilities, making it dead simple to test time-dependent code. It provides a unified method to mock Time.now, Date.today, and DateTime.now in a single call.</td>
</tr>
<tr>
<td>transaction-simple</td>
<td>Transaction::Simple provides a generic way to add active transaction support to<br />
objects. The transaction methods added by this module will work with most<br />
objects, excluding those that cannot be Marshal-ed (bindings, procedure<br />
objects, IO instances, or singleton objects).The transactions supported by Transaction::Simple are not associated with any<br />
sort of data store. They are &#8220;live&#8221; transactions occurring in memory on the<br />
object itself. This is to allow &#8220;test&#8221; changes to be made to an object before<br />
making the changes permanent.</p>
<p>Transaction::Simple can handle an &#8220;infinite&#8221; number of transaction levels<br />
(limited only by memory). If I open two transactions, commit the second, but<br />
abort the first, the object will revert to the original version.</p>
<p>Transaction::Simple supports &#8220;named&#8221; transactions, so that multiple levels of<br />
transactions can be committed, aborted, or rewound by referring to the<br />
appropriate name of the transaction. Names may be any object except nil.</p>
<p>Transaction groups are also supported. A transaction group is an object wrapper<br />
that manages a group of objects as if they were a single object for the purpose<br />
of transaction management. All transactions for this group of objects should be<br />
performed against the transaction group object, not against individual objects<br />
in the group.</p>
<p>Version 1.4.0 of Transaction::Simple adds a new post-rewind hook so that<br />
complex graph objects of the type in tests/tc_broken_graph.rb can correct<br />
themselves.</p>
<p>Version 1.4.0.1 just fixes a simple bug with #transaction method handling<br />
during the deprecation warning.</p>
<p>Version 1.4.0.2 is a small update for people who use Transaction::Simple in<br />
bundler (adding lib/transaction-simple.rb) and other scenarios where having Hoe<br />
as a runtime dependency (a bug fixed in Hoe several years ago, but not visible<br />
in Transaction::Simple because it has not needed a re-release). All of the<br />
files internally have also been marked as UTF-8, ensuring full Ruby 1.9<br />
compatibility.</td>
</tr>
<tr>
<td>treetop</td>
<td>A Ruby-based text parsing and interpretation DSL</td>
</tr>
<tr>
<td>trollop</td>
<td>Trollop is a commandline option parser for Ruby that just<br />
gets out of your way. One line of code per option is all you need to write.<br />
For that, you get a nice automatically-generated help page, robust option<br />
parsing, command subcompletion, and sensible defaults for everything you don&#8217;t<br />
specify.</td>
</tr>
<tr>
<td>tzinfo</td>
<td>TZInfo provides daylight savings aware transformations between times in different time zones.</td>
</tr>
<tr>
<td>uuidtools</td>
<td>A simple universally unique ID generation library.</td>
</tr>
<tr>
<td>vcr</td>
<td>VCR provides a simple API to record and replay your test suite&#8217;s HTTP interactions. It works with a variety of HTTP client libraries, HTTP stubbing libraries and testing frameworks.</td>
</tr>
<tr>
<td>wasabi</td>
<td>A simple WSDL parser</td>
</tr>
<tr>
<td>websocket</td>
<td>Universal Ruby library to handle WebSocket protocol</td>
</tr>
<tr>
<td>xml-simple</td>
<td>A simple API for XML processing.</td>
</tr>
<tr>
<td>xpath</td>
<td>XPath is a Ruby DSL for generating XPath expressions</td>
</tr>
<tr>
<td>ziya</td>
<td>ZiYa allows you to easily create interactive charts, gauges and maps for your web applications. ZiYa leverages<br />
flash which offload heavy server side processing to the client. At the root ZiYa allows you to easily generate an<br />
XML files that will be downloaded to the client for rendering. Using this gem, you will be able to easily create great<br />
looking charts for your application. You will also be able to use the charts, gauges and maps has a navigation scheme<br />
by embedding various link in the graphical components thus bringing to the table an ideal scheme for reporting and dashboard<br />
like applications. Your manager will love you for it !!Sample site : <a href="http://ziya.liquidrail.com" rel="nofollow">http://ziya.liquidrail.com</a><br />
Documentation : <a href="http://ziya.liquidrail.com/docs" rel="nofollow">http://ziya.liquidrail.com/docs</a><br />
Forum : <a href="http://groups.google.com/group/ziya-plugin" rel="nofollow">http://groups.google.com/group/ziya-plugin</a><br />
Repositories : git://github.com/derailed/ziya.git</td>
</tr>
</tbody>
</table>
]]></html><thumbnail_url><![CDATA[https://i1.wp.com/s2.wp.com/wp-content/themes/vip/rh-parent/img/og_shadowman.png?ssl=1&fit=440%2C330]]></thumbnail_url><thumbnail_width><![CDATA[200]]></thumbnail_width><thumbnail_height><![CDATA[200]]></thumbnail_height></oembed>