58 مستودعات
Libraries and frameworks for Ruby and Rails development.
Explore 58 awesome GitHub repositories matching part of an awesome list · Ruby Frameworks and Tools. Refine with filters or upvote what's useful.
This project is a full-stack web framework designed for building database-backed applications through a standardized architectural pattern. It provides a comprehensive suite of integrated libraries that manage the entire request-response lifecycle, from routing incoming web traffic to rendering dynamic server-side templates. By utilizing an object-relational mapping layer, the framework allows developers to define domain models that map database tables directly to application objects, simplifying data persistence, schema migrations, and complex relationship management. The framework is distin
Source code for the Rails framework.
Ruby is a general-purpose, dynamic programming language built on an object-oriented runtime environment. It treats every piece of data as an object, ensuring a consistent interface for manipulation across the entire system. The language is designed to support programmer productivity through a focus on natural syntax and flexible metaprogramming capabilities. The runtime distinguishes itself through a pure object model that allows for dynamic class modification and runtime method definition. It supports functional programming patterns by encapsulating code blocks as objects that capture their
Source code for the Ruby language.
Sass is a stylesheet compilation engine and CSS preprocessor that extends standard CSS with variables, nested rules, mixins, and functions. It functions as a comprehensive design system tool, enabling developers to organize complex stylesheets into modular, reusable components while automating the transformation of advanced syntax into browser-compatible CSS. The project distinguishes itself through its sophisticated build automation and language-level extensibility. It provides robust support for programmatic style generation, including conditional logic, iterative loops, and unit-aware math
CSS preprocessor for modular and maintainable styles.
Faker is a synthetic data generation library used to create realistic but fake information, such as names, addresses, and phone numbers, for software testing and database population. It functions as a tool for producing synthetic test data to fill development databases with records that simulate production environments. The library provides localized data generation, allowing synthetic information to be customized for specific geographic regions and language formats. It also includes a mechanism for unique value enforcement to prevent the repetition of generated data by tracking and rejecting
Generates fake data for testing.
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
Authorization library for Ruby.
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
Tool for building static websites.
Nokogiri is an XML and HTML parsing library that builds navigable document trees from strings, files, or URLs using native C parsers for speed and standards compliance. It provides a CSS selector engine that translates CSS3 selectors into XPath expressions for querying nodes, an XPath query interface with namespace support, a document manipulation toolkit for modifying parsed documents, XSD schema validation, and XSLT transformation capabilities. The library wraps libxml2 and libxslt C libraries with Ruby bindings for high-performance parsing, and integrates Google's Gumbo parser for standard
HTML and XML parsing library.
VCR is a Ruby library that records and replays HTTP interactions during test runs, storing them in serialized cassette files. It captures real HTTP requests and responses, then serves those recorded responses instead of making actual network calls, enabling fast and deterministic test suites that work offline. The library provides configurable request matching, allowing comparisons based on method, URI, host, path, body, or headers to find the correct recorded response. It supports scheduled cassette re-recording to automatically refresh stored interactions at a configurable interval, keeping
Records and replays HTTP interactions for testing.
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
Markup file parsing library.
هذا المشروع عبارة عن برنامج وسيط (middleware) لتحديد معدل الطلبات وجدار حماية على مستوى التطبيق لتطبيقات الويب المبنية بـ Ruby. يعمل كطبقة أمنية لتقييد وحظر طلبات HTTP بناءً على قواعد مخصصة، مما يحمي خوادم الويب من الزيارات الضارة. يوفر النظام إمكانيات لحظر عناوين IP وحظر العملاء المسيئين. كما ينفذ قوائم سماح للطلبات لتجاوز القيود للمستخدمين الموثوقين، ويستخدم تحديد معدل الطلبات القائم على النوافذ الزمنية للتحكم في تكرار الطلبات. يغطي البرنامج الوسيط إدارة حركة المرور ومراقبتها، بما في ذلك القدرة على تتبع أنماط الطلبات وتسجيل أحداث حركة المرور في الوقت الفعلي. كما يسمح بتخصيص نصوص الاستجابة ورؤوسها عند حظر الطلبات أو تقييدها.
Rack middleware for blocking abusive requests.
mruby is a lightweight Ruby interpreter designed to be embedded into C applications. It compiles Ruby source code into a compact, platform-independent bytecode that executes on a register-based virtual machine, and exposes a stable C API for host programs to initialize the interpreter, load bytecode, and invoke Ruby methods at runtime. The interpreter distinguishes itself through a tightly coupled parser and compiler that performs lexical analysis, syntax parsing, and bytecode generation in a single pass without constructing an intermediate AST, minimizing memory overhead. It also includes a
Lightweight Ruby implementation.
Slim هي لغة قوالب موجزة تعتمد على المسافة البادئة ومحرك ترميز لتوليد HTML و XML. مصممة لنظام Ruby البيئي، حيث تحول صيغة الاختصار إلى مستندات جيدة التكوين دون الحاجة إلى علامات إغلاق تقليدية. يعمل المحرك كغلاف متعدد المحركات، مما يسمح بدمج محركات عرض خارجية مثل Markdown و Sass داخل ملف قالب واحد. كما يوفر واجهة سطر أوامر لعرض القوالب وتحويلها بين تنسيقات ترميز مختلفة. يدعم النظام توليد المحتوى الديناميكي من خلال منطق Ruby المضمن، بما في ذلك الحلقات، والشروط، واستيفاء التعبير. يتضمن قدرات لتطوير واجهة المستخدم المعيارية عبر أجزاء القوالب القابلة لإعادة الاستخدام، بالإضافة إلى أدوات متخصصة لإدارة المسافات البيضاء، وتوليد نوع المستند، وربط مجموعات البيانات بسمات العناصر.
High-performance template engine for Ruby.
rspec-rails هو إطار عمل للاختبار يدمج RSpec مع Ruby on Rails لتوفير أدوات تطوير قائمة على السلوك (BDD). يعمل كمجموعة لتعريف سلوك التطبيق من خلال بناء جملة حواري، مما يوفر مجموعة أدوات متخصصة لإنشاء مواصفات سلوكية للنماذج، والمتحكمات، وطرق العرض. يتميز المشروع بإنشاء الاختبارات الآلي، حيث يوفر واجهة سطر أوامر لإنشاء ملفات مواصفات جاهزة لمكونات Rails مثل النماذج، والمتحكمات، ومهام الخلفية. كما يميز قدراته بمكتبة شاملة للسخرية (Mocking) والتقطيع (Stubbing) ومجموعة تكامل تطبيقات الويب المصممة لمحاكاة دورات الطلب الكاملة وتفاعلات المتصفح. يغطي إطار العمل مساحة واسعة من اختبارات التكامل، بما في ذلك التحقق من تعيين المسارات، والتحقق من محتوى البريد، وتنفيذ مهام الخلفية. يوفر مجموعة واسعة من تأكيدات الاختبار للتحقق من حالة الكائن، وحالات استجابة HTTP، ونتائج استعلام قاعدة البيانات، إلى جانب أدوات لإدارة بدائل الاختبار عبر الجواسيس (Spies) والتقطيع. يتضمن النظام ملفاً تنفيذياً لسطر الأوامر لتنفيذ الاختبارات ومتجراً دائماً للتكوين لتوحيد الإعدادات عبر البيئات.
RSpec testing framework for Rails.
توفر هذه المكتبة إطار عمل لتعريف آلات الحالة المحدودة (finite state machines) داخل فئات Ruby لإدارة دورات حياة الكائنات المعقدة. تعمل كمحرك سير عمل تصريحي، مما يسمح للمطورين بنمذجة حالات الكائنات، والأحداث، والانتقالات من خلال لغة خاصة بالمجال (DSL) سهلة القراءة. من خلال التكامل المباشر مع طبقات استمرارية قاعدة البيانات، يضمن إطار العمل مزامنة تغييرات الحالة مع سجلات التخزين مع الحفاظ على سلامة البيانات من خلال إدارة المعاملات وقفل الصفوف. تتميز المكتبة بفرض قواعد عمل صارمة من خلال حراس الانتقال المشروط ومنع التعديل المباشر للحالة، مما يضمن حدوث جميع تغييرات دورة الحياة حصرياً من خلال أحداث محددة. وهي تدعم آلات حالة متعددة ومستقلة داخل فئة واحدة عن طريق تعيينها لحقول قاعدة بيانات متميزة، مما يوفر تحكماً معزولاً في دورة الحياة. علاوة على ذلك، تقوم تلقائياً بإنشاء طرق مثيل ديناميكية للاستعلام عن الحالات وتشغيل الأحداث، إلى جانب نطاقات استعلام قاعدة البيانات التي تبسط تصفية الكائنات بناءً على حالتها الحالية. بعيداً عن إدارة دورة الحياة الأساسية، تتضمن المكتبة أدوات لتعريب أسماء الحالات لدعم الواجهات متعددة اللغات وتوفر خطافات (hooks) لتنفيذ منطق مخصص قبل أو بعد الانتقالات. كما تقدم أدوات مطابقة اختبار متخصصة للتحقق من تكوينات آلة الحالة ومنطق الانتقال داخل مجموعات الاختبار الآلية. يتضمن المشروع أدوات لتجميع الكود المصدري والتكوينات في توثيق منظم للمساعدة في مرجع النظام.
State machine library for Ruby.
Opal هو إطار عمل ومجمع للواجهة الأمامية لـ Ruby يترجم كود مصدر Ruby إلى JavaScript. يعمل كوقت تشغيل ويب يسمح بتطوير تطبيقات الويب من جانب العميل باستخدام Ruby بدلاً من JavaScript. يتضمن المشروع محرك قوالب HTML لـ Ruby يقوم بتقييم كود Ruby المضمن مباشرة داخل ملفات الترميز. يدمج أيضًا مع بيئات JavaScript عن طريق تجميع المكتبات الأساسية والتبعيات في سلسلة توزيع للتنفيذ في متصفح الويب. يوفر النظام قدرات لتجميع Ruby إلى JavaScript والقدرة على ترميز وفك ترميز بيانات Base64.
Ruby to JavaScript transpiler.
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
Code coverage analysis for Ruby.
Prawn هي مكتبة Ruby وأداة تخطيط مستندات تستخدم للإنشاء البرمجي لملفات PDF. تعمل كمحرك رسومات متجهية يسمح بإنشاء مستندات محمولة تحتوي على نصوص منسقة، وأشكال مخصصة، وتخطيطات صفحات منظمة. تتميز المكتبة بنظام رندرة متجهي قائم على الإحداثيات يدعم تعبئة التدرج متعدد التوقفات، والمضلعات المعقدة، والمزج القائم على الطبقات. وتوفر نظام طباعة شاملاً قادراً على تضمين خطوط TrueType و OpenType لدعم أحرف UTF-8 والنصوص من اليمين إلى اليسار للنشر متعدد اللغات. تشمل القدرات الواسعة إدارة هيكل المستند مع مخططات هرمية، وتضمين الصور النقطية مع دعم الشفافية، وإدراج روابط تشعبية تفاعلية. كما يتضمن النظام ميزات أمنية لتشفير المستندات وحمايتها بكلمة مرور.
PDF generation tool for Ruby.
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
Event-driven library for Ruby.
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
Parallel processing library for Ruby.
This project is a performance analysis tool for Ruby applications using the Rack interface. It monitors request execution times and resource usage, serving as a profiler for web applications to measure latency and identify bottlenecks. The tool provides specific analyzers for database query performance, memory allocations, and garbage collection statistics. It generates call stack flamegraphs to visualize time distribution across methods and renders speed badges and timing metrics directly onto HTML pages. The system covers broader performance profiling capabilities including custom code blo
Performance profiling middleware for Rack.