This is your work, valued

Vermont

Seamus Abshere

Expert
@seamusabshere

fuzzy_match. Find a needle (a document or record) in a haystack using string similarity and (optionally) regular expression rules. Uses Dice's Coefficient (aka Pair Similiarity) and Levenshtein Distance internally.

685

upsert. Upsert on MySQL, PostgreSQL, and SQLite3. Transparently creates functions (UDF) for MySQL and PostgreSQL; on SQLite3, uses INSERT OR IGNORE.

646

data_miner. Download, unpack from a ZIP/TAR/GZ/BZ2 archive, parse, correct, convert units and import Google Spreadsheets, XLS, ODS, XML, CSV, HTML, etc. into your ActiveRecord models. Uses RemoteTable gem internally.

305

remote_table. Open local or remote XLSX, XLS, ODS, CSV (comma separated), TSV (tab separated), other delimited, fixed-width files, and Google Docs. Returns an enumerator of Arrays or Hashes, depending on whether there are headers.

229

unix_utils. Like FileUtils, but provides zip, unzip, bzip2, bunzip2, tar, untar, sed, du, md5sum, shasum, cut, head, tail, wc, unix2dos, dos2unix, iconv, curl, perl, etc.

225

cache_method. Cache based on arguments AND object state; store in memcached, redis, or in-process. Like alias_method, but it's cache_method! One step beyond memoization.

136

lock_and_cache. Most caching libraries don't do locking, meaning that >1 process can be calculating a cached value at the same time. Since you presumably cache things because they cost CPU, database reads, or money, doesn't it make sense to lock while caching?

133

mysql2xxxx. Gives you binaries like mysql2csv, mysql2json, and mysql2xml, and Ruby classes to match.

88

cache. Defines a simple interface to multiple cache-like storage engines by wrapping common Ruby client libraries like memcached, redis, memcache-client, dalli. Handles each underlying library's weirdnesses, including forking.

68

eat. A (better?) replacement for open-uri. Lets you open local and remote files by immediately returning their contents as a string.

35

xlsx_writer. Writes XLSX files. Simple, clean XML and style. Supports autofilters and headers/footers with images and page numbers if you're willing to do a little Excel hacking.

33

to_regexp. Provides String#to_regexp

28

errata. Define an errata in table format (CSV) and then apply it to an arbitrary source. Inspired by RFC Errata, lets you keep your own errata in a transparent way.

21

cacheable. DEPRECATED. Use cache_method instead.

19

py-upsert. Python library to make it easy to upsert on MySQL, PostgreSQL, and SQLite3.

18

database_url. Convert back and forth between Heroku-style ENV['DATABASE_URL'] and Rails/ActiveRecord-style config/database.yml hashes.

16

active_record_inline_schema. Replaces mini_record-compat. Define table structure (columns and indexes) inside your ActiveRecord models like you can do in migrations.

16

report. DSL for creating clean CSV, XLSX, and PDF reports in Ruby. Uses xlsx_writer, prawn and pdftk internally.

16

lock_method. Like alias_method, but it's lock_method! (lockfiles)

12

common_name. Helps you stop using chains of humanize/downcase/underscore/pluralize/to_sym/etc everywhere in your models, your views, your controllers, etc.

11

cohort_analysis. TBD

10

create_table. Analyze and inspect CREATE TABLE SQL statements and translate across databases. Uses Ragel internally for parsing.

10

engineyard-metadata. Presents a simple, unchanging interface to get metadata about your EngineYard AppCloud instances running on Amazon EC2.

10

ruby_ragel_examples. Examples of using ragel and ruby together

9

conversions. A Ruby on Rails plugin that adds conversion capabilities to numeric objects

9

fuzzy_infer. Fuzzy set analysis - predicts one or more unknown characteristics of an input case by comparing its known characteristics to a reference dataset whose records contain both the known and unknown characteristics.

8

the_geom_geojson. For PostGIS/PostgreSQL and ActiveRecord, provides "the_geom_geojson" getter and setter that update "the_geom" and "the_geom_webmercator" columns.

7

pg-hstore. A principled Postgres HStore parser/deparser for Ruby.

7

pg_trgm. Ruby trigram similarity that is identical to Postgres's (almost)

6

weighted_average. Aircraft.average(:seats) versus Aircraft.weighted_average(:seats, :weighted_by => :takeoffs)

6

validates_decency_of. Rails plugin that uses George Carlin's list of seven dirty words (aka swear words, aka cuss words, aka bad words) to check for "decency" on ActiveRecord model attributes.

6

loose_tight_dictionary. DEPRECATED: use fuzzy_match. Find a needle in a haystack using string similarity and (optionally) regexp rules.

6

scriptaculous_slider. Main repository is not maintained anymore, so I forked and updated it at : http://www.bitbucket.org/Bounga/scriptaculous-slider/

5

redirect_routing. Ruby

5

hash_digest. Generates non-cryptographic digests of Hashes (and Arrays) indifferent to key type (string or symbol) and ordering.

5

ey_cloud_awareness. DEPRECATED: use engineyard-metadata. Make your EngineYard cloud instances aware of each other.

4

timeline_fu. Ruby

4

fixed_width. [fork with multibyte support via ActiveSupport] A simple, clean DSL for describing, writing, and parsing fixed-width text files.

4

characterizable. DEPRECATED. Use charisma instead.

3

xml_split. Split XML files on an element, yielding (streaming, so constant memory usage) each node in turn. Uses sgrep2 internally; future versions should use a pure-Ruby SAX parser.

3

to_json_fix. TODO: one-line summary of your gem

3

vector_embed. Vector embedding of strings, booleans, numerics, and arrays into LIBSVM / LIBLINEAR format.

3

table_warnings. Warn yourself of problems with your ActiveRecord tables.

3

honeypot. TODO: one-line summary of your gem

3

string_enumerator. Given a string containing placeholders (like [color]), enumerate all of the possible strings resulting from filling those placeholders with replacements (like red, blue).

2

flights1percent. 1% flights

2

rack-mongrel2. Abandoned. Contact me if you want to take over this project.

1

dalli. High performance memcached client for Ruby

1

mini_record. mini_record-compat is DEPRECATED. Use original mini_record OR active_record_inline_schema instead.

1

cookbooks. Opscode Chef Cookbook Development Repository

1