Safe Resource Management for Crystal
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.
# 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