Philiprehberger's Gems

icon
See profile on Gravatar
#Total RankDaily RankNameSummary
12,61414,184philiprehberger-http_clientA zero-dependency HTTP client built on Ruby's net/http with automatic retries, request/...
23,05614,275philiprehberger-phoneParse phone numbers from various formats, validate against country rules, and format as...
33,07313,850philiprehberger-rate_limiterA zero-dependency Ruby gem for rate limiting with sliding window and token bucket algor...
43,28213,850philiprehberger-cron_kitA zero-dependency Ruby gem for parsing 5-field cron expressions and running an in-proce...
53,28414,025philiprehberger-task_queueA lightweight, zero-dependency, thread-safe in-process async job queue with configurabl...
63,28513,277philiprehberger-passwordValidate passwords against configurable policies (length, complexity, common password d...
73,28614,354philiprehberger-templateA lightweight Mustache-style template engine supporting variable interpolation, section...
84,47214,184philiprehberger-time_agoFormat timestamps as human-readable relative strings like "3 minutes ago" or "in 2 hour...
94,58314,354philiprehberger-email_validatorValidates email addresses with RFC 5322 syntax checking, MX record verification, dispos...
104,93314,184philiprehberger-retry_kitA lightweight retry library with exponential/linear/constant backoff, configurable jitt...
115,60089,752philiprehberger-structured_loggerA zero-dependency Ruby gem for structured JSON logging with context merging, child logg...
125,81955,240philiprehberger-cache_kitA lightweight, thread-safe in-memory LRU cache with TTL expiration and tag-based bulk i...
135,86389,752philiprehberger-config_kitA zero-dependency Ruby gem for layered configuration resolution. Define typed config ke...
145,87455,240philiprehberger-env_loaderLoad environment variables from multiple .env files with configurable precedence, type ...
155,89089,752philiprehberger-jwt_kitA complete JWT toolkit for Ruby. Encode and decode tokens with automatic claim manageme...
165,93589,752philiprehberger-sanitize_htmlHTML sanitizer with configurable allow lists for tags and attributes. Strip dangerous e...
175,93655,240philiprehberger-paginationPagination library supporting offset-based, cursor-based, and keyset strategies. Return...
185,93789,752philiprehberger-slugGenerate URL-safe slugs from any string with built-in Unicode transliteration, configur...
195,94289,752philiprehberger-corsRack-compatible CORS middleware supporting configurable allowed origins, methods, heade...
205,94589,752philiprehberger-json_schemaValidate Ruby data structures against JSON Schema definitions with support for type che...
215,94989,752philiprehberger-circuitCircuit breaker pattern with closed, open, and half-open states, configurable failure t...
225,95231,045philiprehberger-env_validatorDefine environment variable schemas with type casting, required/optional flags, and def...
235,95426,965philiprehberger-middlewareA composable middleware stack that supports lambda and class-based middleware, named en...
245,95589,752philiprehberger-resultA lightweight Result type for Ruby with Ok and Err variants, monadic map/flat_map opera...
255,95655,240philiprehberger-state_machineA minimal state machine for Ruby objects. Define states, events, transitions, guard con...
265,95789,752philiprehberger-memoMemoize methods with a simple decorator. Supports TTL expiration, LRU eviction, thread-...
275,96289,752philiprehberger-string_kitString case conversion, slug generation, transliteration, padding, HTML stripping, whit...
285,96434,763philiprehberger-inflectorProvides pluralize, singularize, camelize, underscore, tableize, classify, ordinalize, ...
295,96555,240philiprehberger-id_genGenerate unique identifiers in multiple formats: time-sortable ULIDs, compact nanoids, ...
305,96689,752philiprehberger-poolA generic thread-safe object pool for Ruby with configurable size, checkout timeouts, i...
315,96724,529philiprehberger-schedulerA lightweight in-process task scheduler for Ruby. Schedule recurring tasks using simple...
325,96934,763philiprehberger-cron_parserParse standard 5-field cron expressions and calculate next/previous occurrences, match ...
335,97089,752philiprehberger-parallel_eachParallel iteration methods (map, each, select, reject, find, flat_map, any?, all?, none...
345,97289,752philiprehberger-feature_flagA lightweight feature flag library supporting in-memory, ENV, and YAML backends with pe...
355,97589,752philiprehberger-webhook_signatureSign and verify webhook payloads using HMAC-SHA256 with timestamp-based replay preventi...
365,97655,240philiprehberger-webhook_builderA webhook delivery client that signs payloads with HMAC-SHA256, retries failed deliveri...
375,98089,752philiprehberger-maybeA Maybe/Optional type for Ruby providing Some and None containers with safe chaining, p...
385,98189,752philiprehberger-date_kitDate utilities including business day counting and arithmetic, quarter boundaries, week...
395,98255,240philiprehberger-csv_kitStreaming CSV processor with row-by-row transforms, validations, column plucking, strea...
405,98389,752philiprehberger-tryA tiny utility for concise error handling. Wrap risky expressions with Try.call, chain ...
415,98655,240philiprehberger-csv_builderBuild CSV files from record collections using a declarative DSL with column definitions...
425,98755,240philiprehberger-data_mapperA zero-dependency Ruby gem for transforming data between formats with a mapping DSL, fi...
435,98889,752philiprehberger-uri_kitParse, build, and manipulate URLs with query parameter management, normalization, domai...
445,99089,752philiprehberger-json_pathEvaluate JSONPath expressions against Ruby hashes and arrays. Supports dot notation, ar...
455,99589,752philiprehberger-json_mergeApply and generate JSON patches using RFC 7396 Merge Patch and RFC 6902 JSON Patch. Sup...
465,99689,752philiprehberger-test_factoryLightweight DSL for building test data objects without ActiveRecord. Define factories w...
475,99889,752philiprehberger-mime_typeDetect MIME types from file extensions, filenames, and binary content using magic byte ...
485,99989,752philiprehberger-http_mockStub HTTP requests in tests with a fluent API for matching methods, URLs, headers, and ...
496,00189,752philiprehberger-random_dataGenerate random test data including names, emails, phone numbers, UUIDs, sentences, par...
506,00289,752philiprehberger-cli_kitLightweight CLI toolkit combining argument parsing with flags and options, interactive ...
516,00341,131philiprehberger-colorA lightweight Ruby library for terminal ANSI color and styling with chainable API, RGB/...
526,00589,752philiprehberger-progressDisplay progress bars with percentage, ETA, and throughput, or spinners for indetermina...
536,00689,752philiprehberger-tableFormat data as terminal tables with Unicode, ASCII, Markdown, or compact styles. Build ...
546,00989,752philiprehberger-signed_payloadA zero-dependency Ruby gem for signing and verifying JSON payloads using HMAC-SHA256 wi...
556,01189,752philiprehberger-multipartBuild and parse multipart/form-data request bodies with a clean DSL for adding text fie...
566,01255,240philiprehberger-header_kitParse and build Accept, Accept-Language, Accept-Encoding, Authorization, Cache-Control,...
576,01489,752philiprehberger-checksumCompute MD5, SHA-1, SHA-256, SHA-512, and CRC32 checksums for strings and files. HMAC-S...
586,01689,752philiprehberger-lruThread-safe LRU cache backed by a hash and doubly-linked list for O(1) get/set, with co...
596,01841,131philiprehberger-cryptA high-level encryption toolkit providing AES-256-GCM encryption and decryption, key ro...
606,02055,240philiprehberger-schema_validatorA zero-dependency Ruby gem for validating hash data against schemas with type checking,...
616,02441,131philiprehberger-config_validatorDefine configuration schemas with required and optional keys, type constraints, default...
626,02589,752philiprehberger-safe_yamlSafe YAML loading with restricted types, schema validation, and size limits. Wraps YAML...
636,02889,752philiprehberger-toml_kitParse and generate TOML v1.0 documents with full type support including datetimes, inli...
646,02989,752philiprehberger-timeout_kitA cooperative timeout library providing deadline and timeout patterns that avoid Thread...
656,03034,763philiprehberger-semaphoreCounting semaphore built on Mutex and ConditionVariable for concurrent access control w...
666,03289,752philiprehberger-lock_kitFile locks using flock and PID file locks with stale detection for coordinating between...
676,03589,752philiprehberger-retry_queueProcesses collections of items with configurable per-item retry logic, exponential back...
686,03755,240philiprehberger-tarPure-Ruby implementation of tar archive creation and extraction using the standard 512-...
696,03989,752philiprehberger-pluralizePluralize and singularize English words without ActiveSupport. Includes 200+ rules, irr...
706,04089,752philiprehberger-html_builderBuild HTML programmatically using a clean tag DSL with nested blocks, automatic content...
716,04289,752philiprehberger-gzip_kitSimple API for gzip compression and decompression with support for strings, files, and ...
726,04389,752philiprehberger-xml_builderProgrammatic XML construction with a clean DSL, auto-escaping, CDATA, comments, process...
736,04455,240philiprehberger-moneyA lean money library that stores amounts as integer subunits (cents) to avoid floating-...
746,04589,752philiprehberger-durationParse human strings and ISO 8601 durations, perform arithmetic and comparison, and outp...
756,04989,752philiprehberger-semverA lightweight Ruby library for parsing, comparing, sorting, and matching semantic versi...
766,05089,752philiprehberger-human_sizeFormat byte counts as human-readable strings (1.5 MB) and parse them back. Supports SI ...
776,05189,752philiprehberger-version_compareParse semantic version strings into comparable objects with support for sorting, findin...
786,05455,240philiprehberger-metric_unitsUnit conversion library supporting length, weight, temperature, volume, speed, pressure...
796,05589,752philiprehberger-ip_addrParse and classify IPv4/IPv6 addresses with private, loopback, and multicast detection....
806,05655,240philiprehberger-maskAutomatically detect and redact sensitive data like emails, credit cards, SSNs, and tok...
816,05889,752philiprehberger-geo_pointGeographic point calculations including Haversine/Vincenty distance, bearing, midpoint,...
826,06355,240philiprehberger-image_sizeReads width, height, format, DPI, and color depth from image file headers (PNG, JPEG, G...
836,06489,752philiprehberger-task_runnerRun shell commands with captured stdout/stderr, exit code, duration measurement, config...
846,06589,752philiprehberger-log_filterPattern-based log filtering — drop or transform log lines matching rules. Includes pres...
856,06689,752philiprehberger-file_watcherWatch files and directories for changes using polling. Detects created, modified, and d...
866,06789,752philiprehberger-event_emitterA thread-safe event emitter for Ruby with sync and async listeners, wildcard event matc...
876,06855,240philiprehberger-token_bucketThread-safe token bucket rate limiter with configurable capacity and refill rate, suppo...
886,07355,240philiprehberger-etagGenerate strong and weak ETags, evaluate If-None-Match and If-Match headers, and serve ...
896,07489,752philiprehberger-metricA thread-safe in-process metrics library providing counters, gauges, histograms, and su...
906,07634,763philiprehberger-fuzzy_matchMatch strings approximately using multiple algorithms: Levenshtein edit distance, Damer...
916,07789,752philiprehberger-natural_sortNatural sort for strings containing numbers. Splits strings into text and numeric chunk...
926,08189,752philiprehberger-locale_kitParse BCP 47 language tags, negotiate content language from Accept-Language headers, an...
936,08355,240philiprehberger-regex_libA library of tested, documented regex patterns for common data formats. Includes named ...
946,08489,752philiprehberger-safe_execSafely evaluate arithmetic, comparison, and boolean expressions from untrusted input. U...
956,08789,752philiprehberger-priority_queueA binary heap-based priority queue supporting min-heap, max-heap, and custom comparator...
966,08889,752philiprehberger-truncateTruncate strings by word count, character count, or sentence count with word-boundary a...
976,09131,045philiprehberger-word_wrapWrap text to a specific width at word boundaries. Supports indentation, hanging indent,...
986,09289,752philiprehberger-job_meterThread-safe instrumentation for background jobs. Record execution duration and success/...
996,09389,752philiprehberger-rate_counterMeasure event rates (requests/sec, errors/min) using a sliding window counter. Thread-s...
1006,09441,131philiprehberger-rate_windowThread-safe time-windowed rate tracker that records values into bucketed time slots. Su...
1016,09541,131philiprehberger-stopwatchHigh-resolution stopwatch using monotonic clock with start, stop, reset, lap timing, pa...
1026,09689,752philiprehberger-dependency_graphBuild and resolve dependency graphs using topological sort, detect cycles, generate par...
1036,09889,752philiprehberger-treeA generic tree data structure supporting depth-first and breadth-first traversal, node ...
1046,09926,965philiprehberger-graphGraph data structure supporting directed and undirected modes with adjacency list stora...
1056,10041,131philiprehberger-queue_stackThread-safe queue and stack data structures with configurable capacity limits, blocking...
1066,10289,752philiprehberger-ring_bufferFixed-capacity ring buffer that overwrites oldest entries on overflow, with index acces...
1076,10489,752philiprehberger-bloom_filterBloom filter implementation using a bit array with double hashing. Supports configurabl...
1086,10589,752philiprehberger-intervalInterval data type supporting closed, open, and half-open boundaries with overlap detec...
1096,10755,240philiprehberger-hash_ringConsistent hash ring with virtual nodes, weighted members, and replication support. Min...
1106,10989,752philiprehberger-event_storeThread-safe in-memory event store for CQRS patterns. Supports named streams, event appe...
1116,11189,752philiprehberger-rule_engineA lightweight rule engine with a declarative DSL for defining conditions and actions. S...
1126,11331,045philiprehberger-pipeA Ruby library for functional pipeline composition with named steps, pipeline compositi...
1136,11489,752philiprehberger-struct_kitDefine data classes with typed fields, default values, validation rules, and pattern ma...
1146,11789,752philiprehberger-guard_clauseA chainable guard clause DSL for validating method preconditions with built-in checks f...
1156,11889,752philiprehberger-dot_accessAccess deeply nested hash values using dot notation (config.database.host) with nil-saf...
1166,12089,752philiprehberger-typed_hashDefine typed hash schemas with per-key type declarations, optional coercion functions, ...
1176,12189,752philiprehberger-batchProcesses collections in configurable chunks with progress tracking callbacks and per-i...
1186,12389,752philiprehberger-enumDefine type-safe enums in Ruby with automatic ordinals, custom values, lookup methods, ...
1196,12489,752philiprehberger-debounceDebounce delays execution until a quiet period elapses. Throttle limits execution frequ...
1206,12989,752philiprehberger-deep_freezeRecursively freeze entire object graphs (hashes, arrays, strings, structs, Data) to cre...
1216,13055,240philiprehberger-differA Ruby library for deep structural diffing of hashes, arrays, and nested objects with a...
1226,13189,752philiprehberger-expiring_mapA thread-safe hash map where each key has its own TTL, with automatic expiration, max s...
1236,13389,752philiprehberger-base_convertEncode and decode data in Base32 (Crockford), Base58 (Bitcoin), Base62, and Base85 (ASC...
1246,13589,752philiprehberger-counterCount element frequencies from any enumerable with most-common and least-common queries...
1256,13889,752philiprehberger-math_kitDescriptive statistics, linear interpolation, rounding modes, and moving averages. Ligh...
1266,14155,240philiprehberger-base64_urlURL-safe Base64 encoding and decoding using Base64.urlsafe_encode64/decode64 with no pa...
1276,14289,752philiprehberger-circuit_boardHealth check framework that aggregates dependency checks with configurable timeouts and...
1286,14455,240philiprehberger-hexEncode and decode hexadecimal strings with 0x prefix handling, produce xxd-style hex du...
1296,14689,752philiprehberger-compact_idConvert UUIDs to compact Base58 or Base62 representations (22 chars vs 36). Guaranteed ...
1306,14855,240philiprehberger-color_convertA color conversion library supporting hex, RGB, HSL, and HSV formats with parsing, mani...
1316,14941,131philiprehberger-encoding_kitDetect encoding from BOM and heuristics with confidence scores, convert between encodin...
1326,15089,752philiprehberger-ini_parserParse and generate INI configuration files with sections, inline comments, multiline va...
1336,15189,752philiprehberger-pathname_kitPathname utility library providing atomic writes, safe deletes, directory creation, glo...
1346,15255,240philiprehberger-approxCompare numeric values, arrays, and hashes for approximate equality using configurable ...
1356,15555,240philiprehberger-env_diffParse .env files or environment hashes, compare them, and get a clear report of added, ...
1366,15755,240philiprehberger-state_bagThread-local key-value state bag with scoped overrides via blocks, automatic restoratio...
1376,15889,752philiprehberger-changelog_parserParse Keep a Changelog formatted markdown files with version querying, category managem...
1386,16041,131philiprehberger-bit_fieldNamed bit flags with a DSL for defining flags at bit positions, symbolic read/set/clear...
1396,16155,240philiprehberger-audit_trailA lightweight audit trail library for tracking changes to hashes and objects with actor...
1406,16389,752philiprehberger-assertA lightweight runtime assertion library for Ruby with chainable matchers, soft assertio...