Latest | 0.3.1 |
---|---|
Homepage | https://github.com/Oni-zerone/PunkAPI |
License | MIT |
Platforms | ios 10.0 |
Authors |
This is a wrapper around PunkAPI v2 by @samjbmason you can find more informations about those APIs at https://punkapi.com/
Have you ever wanted to search through Brewdog’s expansive back catalogue of beer in a programmatic way? Maybe build a tool that pairs beer with food, or search beers with an abv of more than 4%? Well now your prayers have been answered!
The Punk API takes Brewdog’s DIY Dog and turns it into a searchable, filterable API that’s completely free and open source.
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
Usage
let punkApi = PunkAPI(configuration: .default)
punkApi.get(RandomBeerRequest(), queue: .main) { beersResult in }
punkApi.get(BeerRequest(id: 1), queue: .main) { beersResult in }
punkApi.get(RandomBeerRequest(), queue: .main) { beersResult in }
punkApi.get(BeersRequest(filter: [
.abv(condition: .more, value: 3),
.beerName(value: "Punk")]), queue: .main) { beersResult in }
API
RandomBeerRequest()
Get a random beer request
punkApi.get(RandomBeerRequest(), queue: .main) { beersResult in }
BeerRequest(id: 1)
Get a beer from given id
punkApi.get(BeerRequest(id: 1), queue: .main) { beersResult in }
BeersRequest(filter: [BeersRequest.Parameter.beerName(value: "Punk IPA")])
Get beers that match the passed in options, if no options are passed in it will return all beers in ascending order of id
.
punkApi.get(RandomBeerRequest(), queue: .main) { beersResult in }
Options
BeersRequest.Parameter.abv(condition: .more, value: 3)
Condition: Condition
Value: Float
Will return beers with an abv greater or lower than the passed in value.
BeersRequest.Parameter.ibu(condition: .more, value: 3)
Condition: Condition
Value: Float
Will return beers with an ibu greater or lower than the passed in value.
BeersRequest.Parameter.ebc(condition: .more, value: 3)
Condition: Condition
Value: Float
Will return beers with an ebc greater or lower than the passed in value.
BeersRequest.Parameter.beerName(value: "Punk")
Value: String
Will return beers matching the string passed in (we use fuzzy matching to find the names).
BeersRequest.Parameter.yeast(value: "American Ale")
Value: String
Will return beers which match the name of the yeast of the string passed in (we use fuzzy matching to find the yeast names).
BeersRequest.Parameter.brewed(condition: .more, value: 3)
Condition: Condition
Value: Date
Will return beers brewed before or after the passed in date.
BeersRequest.Parameter.hops(value: "Ahtanum")
Value: String
Will return beers which match the name of the hops of the string passed in (we use fuzzy matching to find the hop names).
BeersRequest.Parameter.malt(value: "Extra Pale")
Value: String
Will return beers which match the name of the malt of the string passed in (we use fuzzy matching to find the hop names).
BeersRequest.Parameter.food(value: "Cheesecake")
Value: String
Will return beers which match food pairings of the string passed in (we use fuzzy matching to find the foods).
BeersRequest.Parameter.ids(value: [1, 2, 4, 6])
Value: Array<Int>
Will return beers which match the given ids.
Installation
PunkAPI is available through CocoaPods. To install
it, simply add the following line to your Podfile:
pod 'PunkAPI'
Author
@Oni_zerone, [email protected]
License
PunkAPI is available under the MIT license. See the LICENSE file for more info.
Latest podspec
{ "name": "PunkAPI", "version": "0.3.1", "summary": "A little swift wrapper for PunkAPI by @samjbmason", "swift_version": "5.0", "description": ""Have you ever wanted to search through Brewdog's expansive back catalogue of beer in a programmatic way? Maybe build a tool that pairs beer with food, or search beers with an abv of more than 4%? Well now your prayers have been answered!"", "homepage": "https://github.com/Oni-zerone/PunkAPI", "license": { "type": "MIT", "file": "LICENSE" }, "authors": { "Andrea Altea": "[email protected]" }, "source": { "git": "https://github.com/Oni-zerone/PunkAPI.git", "tag": "0.3.1" }, "social_media_url": "https://twitter.com/Oni_zerone", "platforms": { "ios": "10.0" }, "default_subspecs": "API", "subspecs": [ { "name": "API", "source_files": "PunkAPI/Classes/**/*" }, { "name": "PromiseKit", "source_files": "PunkAPI/PromiseKit/Classes/**/*", "dependencies": { "PunkAPI/API": [], "PromiseKit": [ "~> 6.8" ] } } ] }
Mon, 20 May 2019 10:53:05 +0000