Skip to content

ruby-grape/mustermann-grape

This branch is up to date with master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a626c4c · Nov 24, 2023

History

35 Commits
Nov 15, 2023
Nov 24, 2023
Nov 13, 2023
May 2, 2022
Nov 13, 2023
Nov 24, 2023
Jan 3, 2020
Oct 13, 2021
Nov 13, 2023
Jan 9, 2020
Jan 3, 2020

Repository files navigation

Grape Syntax for Mustermann

This gem implements the grape pattern type for Mustermann.

tests

Overview

Supported options: capture, converters, except, greedy, ignore_unknown_options, params, space_matches_plus and uri_decode

require 'mustermann/grape'

Mustermann.new('/:id', type: :grape).params('/foo') # => { id: 'foo' }

# Providing params option
Mustermann.new('/:id', type: :grape, params: {"id"=>{:type=>"Integer"}}).params('/1') # => { id: '1'}
Mustermann.new('/:id', type: :grape, params: {"id"=>{:type=>"Integer"}}).params('/foo') # => nil
Mustermann.new('/:id', type: :grape, params: {"id"=>{:type=>"String"}}).params('/foo') # => { id: 'foo'}

Syntax

Syntax Element Description
:name or {name} Captures anything but a forward slash in a semi-greedy fashion. Capture is named name. Capture behavior can be modified with capture and greedy option.
*name or {+name} Captures anything in a non-greedy fashion. Capture is named name.
* or {+splat} Captures anything in a non-greedy fashion. Capture is named splat. It is always an array of captures, as you can use it more than once in a pattern.
(expression) Enclosed expression is optional.
expression|expression|... Will match anything matching the nested expressions. May contain any other syntax element, including captures.
x? Makes x optional. For instance, (foo)? matches foo or an empty string.
/ Matches forward slash. Does not match URI encoded version of forward slash.
\x Matches x or URI encoded version of x. For instance \* matches *.
any other character Matches exactly that character or a URI encoded version of it.

About

Implements the grape pattern type for Mustermann.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages