README.md
# Gherkin [![Hex.pm](https://img.shields.io/hexpm/v/gherkin.svg)](https://hex.pm/packages/gherkin)
[![Coverage Status](https://coveralls.io/repos/github/cabbage-ex/gherkin/badge.svg?branch=master)](https://coveralls.io/github/cabbage-ex/gherkin?branch=master)
[![CircleCI](https://circleci.com/gh/cabbage-ex/gherkin.svg?style=svg)](https://circleci.com/gh/cabbage-ex/gherkin)
A Gherkin file parser written in Elixir. Parses `.feature` files and translates them to native Elixir terms for processing.
Extracted from https://github.com/meadsteve/white-bread
## Installation
The package can be installed as:
1. Add `gherkin` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[{:gherkin, "~> 1.0"}]
end
```
2. Ensure `gherkin` is started before your application:
```elixir
def application do
[applications: [:gherkin]]
end
```
## Example Usage
```elixir
%Gherkin.Elements.Feature{scenarios: scenarios} = File.read!("test/features/coffee.feature") |> Gherkin.parse()
# Do something with `scenarios`
# Also supports file streams for larger files (must read by lines, bytes not supported)
%Gherkin.Elements.Feature{scenarios: scenarios} = File.stream!("test/features/coffee.feature") |> Gherkin.parse()
```