A systemic express component
Starts systemic systems
A minimal dependency injection library for node
Fast, unopinionated, minimalist web framework
Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.
TypeScript definitions for express
A systemic component for azure bus
Starts systemic systems within a domain
A minimal type-safe dependency injection library
OpenTelemetry instrumentation for `express` http web application framework
TypeScript definitions for express-serve-static-core
Service runner for @ilpt/systemic-ts
Express preset for conventional-changelog.
Express middleware for the validator module.
Include Flmngr file manager server-side into your Express app or website
Swagger UI Express
Simple session middleware for Express
Create HTTP error objects
TypeScript definitions for swagger-ui-express
TypeScript definitions for express-session
Express middleware to handle OpenAPI 3.x.
The one-liner node.js proxy middleware for connect, express, next.js and more
Automatically validate API requests and responses with OpenAPI 3 and Express.
Plug & play basic auth middleware for express
An intergalactic email delivery library to send Emails with Silverpop provider.
A humane, eval-safe HTML templating system expressed in HTML
This is an Arduino helper toolkit that builds on top of the arduino-cmake project — a powerful alternative build system for Arduino. What Arli provides is capability to search for libraries by any attributes and regular expressions, install a whole set of libraries defined in a YAML file Arlifile, and finally, it can generate a brand new Sketch Project based on arduino-cmake, that builds out the box. Arli is a command line tool, so run "arli" after installing the gem for more information.
Code Qualia helps developers express their subjective understanding and feelings about code quality to AI systems by combining quantitative metrics (coverage, complexity, git activity) with configurable weights that reflect development priorities and intuitions.
The Kiosk framework allows you to divide your software system to be divided into small, single-purpose software components. Parameters and return values are passed as data that can be expressed in JSON maps. Components can be deployed in-process or in another process or on another machine. Components don't have to know who is calling them and references to other components are injected using environment variables. These components can make use of a consistent and simple specification and testing framework built on cucumber.
FlowNodes is a Ruby port of PocketFlow, the Python framework created by The Pocket. It brings the power and simplicity of PocketFlow's graph-based architecture to the Ruby ecosystem. Build powerful LLM applications like Agents, Workflows, and RAG systems with minimal code and maximum expressiveness.
This gem allows to do simulation runs of systems of ordinary differential equations of one independent variable using numerical Runge-Kutta methods for approximation. Contains some features like calculation of separate additive terms of the differential equations, calculation of custom expressions and logging and printing runs to csv files, which engineers may find convenient.
A comprehensive Ruby implementation of a Knowledge-Based System featuring: • RETE Algorithm: Optimized forward-chaining inference engine with unlinking optimization for high-performance pattern matching • Declarative DSL: Readable, expressive syntax for rule definition with built-in condition helpers • Blackboard Architecture: Multi-agent coordination with message passing and knowledge source registration • Flexible Persistence: SQLite (durable), Redis (fast), and hybrid storage backends with audit trails • Concurrent Execution: Thread-safe auto-inference mode for real-time processing • AI Integration: Native support for LLM integration (Ollama, OpenAI) for hybrid symbolic/neural reasoning • Production Features: Session management, fact history, query API, statistics tracking Perfect for expert systems, trading algorithms, IoT monitoring, portfolio management, and AI-enhanced decision systems.
For us humans, it's always easier to remember a pronounceable string, even if it is meaningless, than to remember a long number. Koremutake is a system you can use to translate any number (of course, particularly suited at long numbers) to a sequence of syllables. Typical uses of Koremutake strings are auto-generated user passwords or URLs. This module is based in Leon Brocard's String::Koremutake Perl module, available at http://search.cpan.org/dist/String-Koremutake/lib/String/Koremutake.pm which is, in turn, based upon Shorl (http://shorl.com/koremutake.php). Koremutake is a «way to express any large number as a sequence of syllables», and the general idea is based in Sean B. Palmer's «Memorable Random String» term, http://infomesh.net/2001/07/MeRS/
Crowdfund is a Ruby program developed based on Pragmatic Studio's Ruby Programming hands-on video course, and distributed as a Ruby gem. This program has been developed using all the strengths of Ruby including the following. Ruby Programming Environment * Installing Ruby on your favorite operating system (free exercise) * Running Ruby using the interactive Ruby shell (irb) and writing Ruby program files * Using Ruby's documentation system to get help * Installing external Ruby libraries using RubyGems * Troubleshooting common problems Ruby Language Constructs * Expressions and variables * Numbers, string, and symbols (free video & exercise) * Loops and conditional expressions * Arrays and hashes (free video & exercise on hashes) * Classes, modules, and structs Object-Oriented Programming * Using built-in Ruby classes * Defining your own classes with state and behavior (free video & exercise) * Creating unique objects * Telling objects what to do by calling methods * Modeling class-level inheritance relationships * Sharing code with mixins Object-Oriented Design Principles * Encapsulation * Separation of concerns * Polymorphism * Don't Repeat Yourself * Tell, Don't Ask Blocks and Iterators * Calling built-in methods that take blocks * Writing your own methods that yield to blocks * Implementing custom iterators * Effectively using blocks in your programs Organizing Ruby Code * Creating a Ruby project structure * Separating source files for easier reuse and testing * Namespacing to avoid naming clashes * Input/Output * Reading data from files * Writing data to files * Creating an interactive console prompt * Handling command-line input Unit Testing * Writing and running unit tests with RSpec * Test-driven development and the red-green-refactor cycle * Stubbing methods to control tests * Refactoring code, safely! Distribution * Conforming to RubyGems conventions * Writing a GemSpec * Building a RubyGem * Publishing a RubyGem to a public server Ruby Programming Idioms
Studio Game is a Ruby program developed based on Pragmatic Studio' Ruby Programming hands-on video course, and distributed as a Ruby gem. This program has been developed using all the strengths of Ruby including the following. Ruby Programming Environment * Installing Ruby on your favorite operating system (free exercise) * Running Ruby using the interactive Ruby shell (irb) and writing Ruby program files * Using Ruby's documentation system to get help * Installing external Ruby libraries using RubyGems * Troubleshooting common problems Ruby Language Constructs * Expressions and variables * Numbers, string, and symbols (free video & exercise) * Loops and conditional expressions * Arrays and hashes (free video & exercise on hashes) * Classes, modules, and structs Object-Oriented Programming * Using built-in Ruby classes * Defining your own classes with state and behavior (free video & exercise) * Creating unique objects * Telling objects what to do by calling methods * Modeling class-level inheritance relationships * Sharing code with mixins Object-Oriented Design Principles * Encapsulation * Separation of concerns * Polymorphism * Don't Repeat Yourself * Tell, Don't Ask Blocks and Iterators * Calling built-in methods that take blocks * Writing your own methods that yield to blocks * Implementing custom iterators * Effectively using blocks in your programs Organizing Ruby Code * Creating a Ruby project structure * Separating source files for easier reuse and testing * Namespacing to avoid naming clashes * Input/Output * Reading data from files * Writing data to files * Creating an interactive console prompt * Handling command-line input Unit Testing * Writing and running unit tests with RSpec * Test-driven development and the red-green-refactor cycle * Stubbing methods to control tests * Refactoring code, safely! Distribution * Conforming to RubyGems conventions * Writing a GemSpec * Building a RubyGem * Publishing a RubyGem to a public server Ruby Programming Idioms
= The Owasp ESAPI Ruby project == Introduction The Owasp ESAPI Ruby is a port for outstanding release quality Owasp ESAPI project to the Ruby programming language. Ruby is now a famous programming language due to its Rails framework developed by David Heinemeier Hansson (http://twitter.com/dhh) that simplify the creation of a web application using a convention over configuration approach to simplify programmers' life. Despite Rails diffusion, there are a lot of Web framework out there that allow people to write web apps in Ruby (merb, sinatra, vintage) [http://accidentaltechnologist.com/ruby/10-alternative-ruby-web-frameworks/]. Owasp Esapi Ruby wants to bring all Ruby deevelopers a gem full of Secure APIs they can use whatever the framework they choose. == Why supporting only Ruby 1.9.2 and beyond? The OWASP Esapi Ruby gem will require at least version 1.9.2 of Ruby interpreter to make sure to have full advantages of the newer language APIs. In particular version 1.9.2 introduces radical changes in the following areas: === Regular expression engine (to be written) === UTF-8 support Unicode support in 1.9.2 is much better and provides better support for character set encoding/decoding * All strings have an additional chunk of info attached: Encoding * String#size takes encoding into account – returns the encoded character count * You can get the raw datasize * Indexed access is by encoded data – characters, not bytes * You can change encoding by force but it doesn’t convert the data === Dates and Time From "Programming Ruby 1.9" "As of Ruby 1.9.2, the range of dates that can be represented is no longer limited by the under- lying operating system’s time representation (so there’s no year 2038 problem). As a result, the year passed to the methods gm, local, new, mktime, and utc must now include the century—a year of 90 now represents 90 and not 1990." == Roadmap Please see ChangeLog file. == Note on Patches/Pull Requests * Fork the project. * Create documentation with rake yard task * Make your feature addition or bug fix. * Add tests for it. This is important so I don't break it in a future version unintentionally. * Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull) * Send me a pull request. Bonus points for topic branches. == Copyright Copyright (c) 2011 the OWASP Foundation. See LICENSE for details.