Showing content from https://github.com/sinatra/mustermann below:
sinatra/mustermann: your personal string matching expert
This repository contains multiple projects (each installable as separate gems).
Git versions with Bundler
You can easily use the latest edge version from GitHub of any of these gems via Bundler:
github 'sinatra/mustermann' do
gem 'mustermann'
gem 'mustermann-contrib'
end
The identity
, regexp
and sinatra
types are included in the mustermann
gem, all the other types have their own gems.
Type Example Compatible with Notes cake /:prefix/** CakePHP express /:prefix+/:id(\d+) Express, pillar.js flask /<prefix>/<int:id> Flask, Werkzeug identity /image.png any software using strings Exact string matching (no parameter parsing). pyramid /{prefix:.*}/{id} Pyramid, Pylons rails /:slug(.:ext) Ruby on Rails, Journey, HTTP Router, Hanami, Scalatra (if configured), NYNY regexp /(?<slug>[^\/]+) Oniguruma, Onigmo, regular expressions Created when you pass a regexp to Mustermann.new.
Does not support expanding or generating templates. shell /*.{png,jpg} Unix Shell (bash, zsh) Does not support expanding or generating templates. simple /:slug.:ext Sinatra (1.x), Scalatra, Dancer, Finatra, Spark, RCRouter, kick.js Implementation is a direct copy from Sinatra 1.3.
It is the predecessor of sinatra. Does not support expanding or generating templates. sinatra /:slug(.:ext)? Sinatra (2.x), Padrino (>= 0.13.0), Pendragon, Angelo This is the default and the only type "invented here".
It is a superset of simple and has a common subset with template (and others). uri-template /{+pre}/{page}{?q} RFC 6570, JSON API, JSON Home Documents and many more Standardized URI templates, can be generated from most other types.
Any software using Mustermann is obviously compatible with at least one of the above.
Ruby 2.6+ compatible Ruby implementation.
JRuby support is unknown, see more in issue #72.
Mustermann follows Semantic Versioning 2.0. Anything documented in the README or via YARD and not declared private is part of the public API.
-
Mustermann 3.0.4 (2025-08-03)
- Ruby 3.4+ compatibility: Use
URI::RFC2396_Parser
in mustermann-contrib #146 @dentarg
-
Mustermann 3.0.3 (2024-09-03)
-
Mustermann 3.0.2 (2024-08-09)
- Ruby 3.4+ compatibility: "Use rfc2396 parser instead of URI::DEFAULT_PARSER" #139 @hsbt
-
Mustermann 3.0.1 (2024-07-31)
- Ruby 3.4+ compatibility: "Use URI::RFC2396_Parser#regex explicitly" #138 @hsbt
-
Mustermann 3.0.0 (2022-07-24)
- Drop support for old Rubies < 2.6.
-
Mustermann 2.0.2 (2022-07-22)
-
Mustermann 2.0.1 (2022-07-19)
-
Mustermann 2.0.0 (2022-07-18)
- Improve Ruby 3 compatibility. Removed built-in Sinatra 1 support, and moved to new mustermann-sinatra-extension gem. Fixes #114 @epergo
-
Mustermann 1.1.2 (2022-07-16)
-
Mustermann 1.1.1 (2020-01-04)
- Make sure that
require
ing ruby2_keywords when needed. Fixes #102 @Annih
-
Mustermann 1.1.0 (2019-12-30)
-
Mustermann 1.0.3 (2018-08-17)
-
Mustermann 1.0.2 (2018-02-17)
-
Mustermann 1.0.1 (2017-08-26)
- Updating readme to list Ruby 2.2 as minimum commit (@cassidycodes)
- Fix rendering of HTML table commit (@stevenwilkin)
- Update summary and description in gemspec file. commit (@junaruga)
- avoid infinite loop by removing comments when receiving extended regexp commit (@namusyaka)
- avoid unintended conflict of namespace commit (@namusyaka)
- use Regexp#source instead of Regexp#inspect commit (@namusyaka)
-
Mustermann 1.0.0 (2017-03-05)
- First stable release.
- Includes
mustermann
, and mustermann-contrib
gems
- Sinatra patterns: Allow | outside of parens.
- Add concatenation support (
Mustermann::Pattern#+
).
Mustermann::Sinatra#|
may now generate a Sinatra pattern instead of a real composite.
- Add syntax highlighting support for composite patterns.
- Remove routers (they were out of scope for the main gem).
- Rails patterns: Add Rails 5.0 compatibility mode, make it default.
- Moved
tool
gem EqualityMap
to Mustermann::EqualityMap
in core
- Improve documentation.
- Mustermann 0.4.0 (2014-11-26)
- More Infos: RubyGems.org, RubyDoc.info, GitHub.com
- Split into multiple gems.
- Add
Pattern#to_proc
.
- Add
Pattern#|
, Pattern#&
and Pattern#^
.
- Add
Pattern#peek
, Pattern#peek_size
, Pattern#peek_match
and Pattern#peek_params
.
- Add
Mustermann::StringScanner
.
- Add
Pattern#to_templates
.
- Add
|
syntax to sinatra
templates.
- Add template style placeholders to
sinatra
templates.
- Add
cake
, express
, flask
and pyramid
patterns.
- Allow passing in additional value behavior directly to
Pattern#expand
.
- Fix expanding of multiple splats.
- Add expanding to
identity
patterns.
- Add
mustermann-fileutils
.
- Make expander accept hashes with string keys.
- Allow named splats to be named splat.
- Support multiple Rails versions.
- Type option can be set to nil to get the default type.
- Add
mustermann-visualizer
.
- Mustermann 0.3.1 (2014-09-12)
- Mustermann 0.3.0 (2014-08-18)
- More Infos: RubyGems.org, RubyDoc.info, GitHub.com
- Add
regexp
pattern.
- Add named splats to Sinatra patterns.
- Add
Mustermann::Mapper
.
- Improve duck typing support.
- Improve documentation.
- Mustermann 0.2.0 (2013-08-24)
- More Infos: RubyGems.org, RubyDoc.info, GitHub.com
- Add first class expander objects.
- Add params casting for expander.
- Add simple router and rack router.
- Add weak equality map to significantly improve performance.
- Fix Ruby warnings.
- Improve documentation.
- Refactor pattern validation, AST transformations.
- Increase test coverage (from 100%+ to 100%++).
- Improve JRuby compatibility.
- Work around bug in 2.0.0-p0.
- Mustermann 0.1.0 (2013-05-12)
- More Infos: RubyGems.org, RubyDoc.info, GitHub.com
- Add
Pattern#expand
for generating strings from patterns.
- Add better internal API for working with the AST.
- Improved documentation.
- Avoids parsing the path twice when used as Sinatra extension.
- Better exceptions for unknown pattern types.
- Better handling of edge cases around extend.
- More specs to ensure API stability.
- Largely rework internals of Sinatra, Rails and Template patterns.
- Mustermann 0.0.1 (2013-04-27)
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4