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