Bracket

Safe Resource Management for Crystal

About

Bracket is a Crystal shard that implements the bracket pattern for safe resource management. This pattern ensures that resources are properly initialized and cleaned up, similar to Python's context managers or Haskell's bracket pattern.

Features

Quick Start

# Add to shard.yml:
dependencies:
  bracket:
    github: wizzardx/bracket

# Basic usage:
require "bracket"

setup = -> { "my resource" }
teardown = ->(resource : String) { puts "Cleaning up #{resource}"; nil }

Bracket.with_resource(setup, teardown) do |resource|
  puts "Using #{resource}"
end