Skip to content
This repository has been archived by the owner on Dec 20, 2024. It is now read-only.

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
JoshHrach authored Jan 19, 2017
1 parent db4cac9 commit 3cb39df
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,66 @@
# Provincial

Provincial is a small library to quickly get a list of states or provinces from various countries.

## Goal

Ultimately, the goal of Provincial was to provide a quick way to get a list of US states and Canadian provinces. Instead of hardcoding a list of strings in an array, this library can provide a list of `State` objects that give basic information about each.

## Requirements

None.

## Installation

[![Version](https://img.shields.io/cocoapods/v/Provincial.svg?style=flat)](http://cocoapods.org/pods/Provincial)
[![License](https://img.shields.io/cocoapods/l/Provincial.svg?style=flat)](http://cocoapods.org/pods/Provincial)
[![Platform](https://img.shields.io/cocoapods/p/Provincial.svg?style=flat)](http://cocoapods.org/pods/Provincial)

Provincial is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:

```ruby
pod "Provincial"
```

## Usage

At the top of your .swift file:
```
import Provincial
```

To get a list of all US states:
```
let states = Provincial.states(in: .usa)
```
This returns a list of `PoliticalEntity` objects representing states.

The `PoliticalEntity` protocol requires each to provide a `State` computed property. This `State` struct includes the name and abbreviation of each state. Thus, to print the name of all 50 US States, you could write:
```
for state in states {
print(state.info.name)
}
```

States are listed by means of an enum. This can allow you to either check for specifics states while looping through a set, or to get individual information for a particular state.

```
let arizona = USState.arizona
print(arizona.name)
print(arizona.abbreviation)
```

It's also possible to filter or sort the array using Swift's built in `.filter` and `.sorted` methods.
```
let newestStates = states.sorted { $0.info.date > $1.info.date }
```


## Author

Josh Hrach, josh.hrach@gmail.com

## License

Provincial is available under the MIT license. See the LICENSE file for more info.

0 comments on commit 3cb39df

Please sign in to comment.