30 open-source projects similar to hexorx/countries, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Countries alternative.
This project is a comprehensive geographic location dataset and reference library providing standardized data for countries, states, and cities. It serves as a source of truth for regional hierarchies, ISO codes, coordinates, and timezone information, available as both a relational SQL database and a document-based JSON library. The project includes a custom dataset export tool that functions as a filtering engine. This allows for the generation of tailored geographic files in JSON, CSV, and GeoJSON formats by selecting only the specific regions or fields required. The dataset covers global
ip2region is an offline IP geolocation library and framework designed to resolve IPv4 and IPv6 addresses to city-level regional information using local binary data files. It functions as a binary IP database compiler and a cross-language search client, allowing for regional lookups without relying on external APIs. The project distinguishes itself through a specialized binary format that supports high-performance query optimization. It employs adjacent-segment IP merging and deduplicated region storage to minimize the database footprint, while utilizing memory-mapped file caching and vector-i
This project is a Ruby library for defining and managing object lifecycles through states, events, and transition rules. It functions as a declarative workflow engine that enforces business logic by restricting attribute changes to predefined, valid paths within Ruby classes. The library distinguishes itself through deep integration with database persistence layers, allowing it to automatically synchronize state changes with data models, validation frameworks, and transaction management. It supports dynamic configuration, enabling the construction of lifecycle rules at runtime from external d
SimpleCov is a Ruby code coverage tool and analysis engine used to track which lines, branches, and methods of code execute during tests. It functions as a coverage threshold enforcer and test suite aggregator, recording execution data to identify untested areas of an application. The tool distinguishes itself through the ability to merge coverage results from parallel worker processes and subprocesses into a single unified report. It supports baseline comparison to detect coverage regressions and can gather data from code executed via dynamic evaluation methods, such as those used in templat
Ruby gem for phone validation and formatting using google libphonenumber library data
A statesmanlike state machine library.
Pundit is a Ruby authorization framework that implements policy-based access control. It maps domain models to dedicated logic classes that determine whether a user is permitted to perform specific actions on data objects. The framework utilizes plain Ruby objects to decouple authorization logic from the model. It includes mechanisms for data query scoping to filter record collections based on user permissions, as well as attribute-level permission control to restrict which specific model fields a user can modify. The system provides tools for authorization coverage verification to ensure se
EventMachine is a reactor-pattern network framework for Ruby that provides an asynchronous I/O library for performing non-blocking network and file operations. It functions as a network server framework used to build scalable TCP and UDP servers and clients that process multiple simultaneous requests. The framework implements a concurrency model that dispatches network events to registered handlers using a single-threaded event loop. This approach allows for the management of high-concurrency network connections without the overhead of multi-threaded programming. The library covers the devel
E164 international phone number normalizing, splitting, formatting.
Markup is a tool for converting various documentation formats and manual pages into structured HTML. It functions as a rendering engine selector and converter that transforms raw markup files into web-ready output using a pluggable pipeline. The system identifies the appropriate rendering engine by utilizing file extensions or analyzing document content through pattern-based language detection. This allows the pipeline to handle documents where file extensions are missing or ambiguous. The project covers a broad range of content transformation, including the conversion of traditional man pag
Parallel is a Ruby library and multi-process execution framework designed to accelerate CPU-intensive operations. It functions as a parallel job orchestrator and concurrent task runner that enables the execution of code across multiple processes or threads. The project distinguishes itself through secure inter-process communication, utilizing signed data serialization to prevent the injection of forged payloads between parent and child processes. It further differentiates its worker management by assigning unique identifiers to individual processes to prevent collisions when accessing shared
This project is a Rack middleware rate limiter and application layer firewall for Ruby web applications. It serves as a security layer to throttle and block HTTP requests based on custom rules, protecting web servers from abusive traffic. The system provides capabilities for IP blocking and the banning of malicious clients. It implements request safelisting to bypass restrictions for trusted users and uses time-windowed rate limiting to control request frequency. The middleware covers traffic management and monitoring, including the ability to track request patterns and instrument traffic ev
Search Engine Optimization (SEO) for Ruby on Rails applications.
Natural language processing framework for Ruby.
A Rails gem to send messages inside a web application
Middleman is a Ruby-based static site generator and web framework used to transform templates and assets into standalone HTML, CSS, and JavaScript files. It functions as a multi-engine template processor and build tool, converting source markup into production-ready websites that can be hosted on any web server. The system is distinguished by a comprehensive asset pipeline that handles compression, minification, and fingerprinting to optimize web delivery. It features an extensible architecture with lifecycle hooks and a middleware-based request interception layer, allowing for the programmat
This is a Ruby email library providing a comprehensive toolset for composing, parsing, and sending emails. It includes an SMTP client for delivering outgoing messages and a MIME parser for decomposing complex multipart email structures. The project features an IMAP and POP3 mail fetcher for synchronizing messages from remote servers, alongside a specialized framework for testing email logic through mock delivery methods and matchers. The library covers a broad range of email operations, including the generation of nested multipart messages, the management of attachments, and the translation