Portfolio

The projects below are why Sleeping King Studios exists. They represent over ten years of open source development work, from low-level tools to libraries for business logic management to deployed and active applications.

In addition, I have made contributions to RSpec (including support for Ruby 3 keyword parameters) and Mongoid.

Applications

I develop and maintain two applications for personal use: Lanyard and Lodestone.

Lanyard

Lanyard is an application for tracking job openings and applications. It defines functionality for managing applications, events, companies, recruiters, and agencies.

Source Code

Lodestone

Lodestone is a tool for managing my open source development work, similar to Trello or Jira. It manages projects, tasks, and statuses, with particular functionality for handling cross-project dependencies.

Source Code

While the applications themselves are not publicly available, they are open source; anyone is free to clone, fork, or deploy their own copies on their own infrastructure.

Why personal use?

Managing and scaling an application from the ground up would be interesting, but the biggest obstacle to turning a personal application is liability. The internet being what it is, it would be only a matter of time before someone posts copyrighted material, or explicit content, or extreme political views.

Libraries

The following libraries are production-ready, and suitable for use in deployed applications.

Cuprum

Cuprum is the jewel in Sleeping King Studios' crown. The gem implements the Command pattern, allowing projects to define encapsulated, composable logic. Supports error handling and branching logical flows using railway-oriented programming.

RSpec::SleepingKingStudios

A collection of concerns, matchers, and tools for use with the RSpec testing framework. Now supports deferred example groups for sharing specs between projects or repositories.

RubyGems

Source Code

v2.7.0

SleepingKingStudios::Tools

Functional-style tools for working with common Ruby objects, inspired by JavaScript tools such as Lodash. Handles common tasks such as string inflection without patching the global namespace.

RubyGems

Source Code

v1.1.1

Experiments

The following libraries are under active development and not production-ready. Expect changes to public-facing code and interfaces until each library hits the magic 1.0.0 release.

Cuprum::Collections

A datastore abstraction library built on Cuprum. Cuprum::Collections leverages the Repository pattern and provides a template for defining collections and scopes against different data sources.

RubyGems

Source Code

v0.4.0

Cuprum::Rails

A toolkit for developing Rails applications, using Cuprum to define your business logic and deconstruct your controllers into single-responsibility actions, responders, and serializers.

RubyGems

Source Code

v0.2.0

Stannum

A library for defining and validating data structures without relying on an ORM or framework. Provides entity definitions and validator objects.

RubyGems

Source Code

v0.3.0