Latest 0.1.0
Homepage https://github.com/cats-oss/Matcha
License MIT
Platforms ios 8.0, tvos 9.0, osx 10.10, watchos 2.0, requires ARC
Authors

:tea: Matcha

Carthage compatible
Build Status
codecov
Version
License
Platform

What’s Matcha?

Matcha is Framework that can get parameters from URL Path. It does not have Router, so simple.

It can use like following:

let url = URL(string: "https://example.com/user/1/settings")!
let matcha = Matcha(url: url, pattern: "/user/{userID}/settings")
matcha?.value(of: "userID")     // "1"
matcha?.value(at: 0)            // "1"

Requirements

  • Swift 4.1

How to Install

CocoaPods

Add the following to your Podfile:

pod "MatchaTea"

:warning: WARNING : If you want to install from CocoaPods, must add MatchaTea to Podfile because there is a Matcha different from this Matcha.

Carthage

Add the following to your Cartfile:

github "cats-oss/Matcha"

How to use Matcha

If you have already known information of URL Path, create the instance with the pattern.

let url = URL(string: "https://example.com/user/1/settings")!
let matcha = Matcha(url: url, pattern: "/user/{userID}/settings")

Then, can get matched values.

matcha?.value(of: "userID")     // "1"
matcha?.value(at: 0)            // "1"
matcha?["userID"]               // "1"
matcha?[0]                      // "1"

If you do not know any information of URL Path, match with the pattern after create the instance using the URL.

if let url = url {
    let matcha = Matcha(url: url)
    if matcha.matched("/") != nil {
        // to root
    } else if matcha.matched("/notification") != nil {
        // to notification
    } else if let id = matcha.matched("/user/{userID}")?["userID"] {
        // to user with id
    }
}

LICENSE

Under the MIT license. See LICENSE file for details.

Latest podspec

{
    "name": "MatchaTea",
    "version": "0.1.0",
    "swift_version": "4.1",
    "summary": "Matcha is Framework that can get parameters from URL Path.",
    "homepage": "https://github.com/cats-oss/Matcha",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Kyohei Ito": "[email protected]"
    },
    "source": {
        "git": "https://github.com/cats-oss/Matcha.git",
        "tag": "0.1.0"
    },
    "platforms": {
        "ios": "8.0",
        "tvos": "9.0",
        "osx": "10.10",
        "watchos": "2.0"
    },
    "source_files": "Matcha/**/*.{h,swift}",
    "requires_arc": true
}

Pin It on Pinterest

Share This