Commit graph

7 commits

Author SHA1 Message Date
taca
7ee5f09c6d lang/ruby-gherkin: update to 6.0.15
6.0.15 - 2018-10-31

Added

* (Go) Executables are uploaded to GitHub releases.

Fixed

* Fix bug where leading tabs prevented parser from identifying keywords (#512
  [VjacheslavVytjagov])
* [JavaScript] Fix JavaScript build (#499 noisygerman)


6.0.13 - 2018-09-25

This major release aligns Gherkin with Example Mapping, a collaborative
technique for designing scenarios and discovering details about rules and
behaviour.

A new Rule keyword has been introduced, and acts as a grouping of one or more
Examples - a new synonym for Scenario.  The Scenario Outline keyword can now
be interchanged with the Scenario keyword, which makes Gherkin a little less
confusing, especially to beginners.  These are the first major change to the
Gherkin grammar in 8 years or so, and we're pretty excited about them.  We
hope they will guide people towards thinking of scenarios as examples of
business rules rather than a series of form submissions and link clicking.
This rule-focused style engages product owners, and can act as amazing living
documentation of your product.  It opens up for the true benefits of BDD - a
business-friendly format for describing and agreeing on software behaviour,
and a guide to development.  Developers will code against this spec, and
produce better (simpler) software faster.  The software will do what it says
on the tin.

The new Gherkin grammar is backwards compatible, meaning that existing Gherkin
documents are still valid.

The library API however is not backwards compatible.  It is now a stream-like
API which produces a stream of messages (source, AST and pickle messages).

Internally, each library shells out to a go executable (embedded in the
library for all major OSes and processor architectures), and communicates via
STDIN/STDOUT using protocol buffers.  The rationale behind this architectural
change is to reduce the maintenance burden (a single parser rather than a
dozen), but also to make it quicker and easier to implement a Gherkin library
in a new language.  Just generate some protobuf classes/structs and write a
small program that shells out and communicates using those messages.

Our preliminary benchmarks suggest that performance is comparable to the
native implementations, or better.  There is a small hit in startup cost, but
this is offset against a higher throughput of the parser.

At the time of this writing Gherkin 6 is nearly integrated in Cucumber-JVM and
Cucumber-Ruby.  Integration with Cucumber.js has not started and we would
really welcome some help with that.

The message protocol will continue to evolve to represent runtime information
such as results, parameter types, cucumber expressions and other metadata.
This will make it easier for the community to build plugins for Cucumber.  One
HTML Gherkin formatter to rule them all. Statistic plugins and more.

Added

* (TypeScript) - Added TypeScript definitions (.d.ts) for Gherkin.
* Added Rule keyword (#250 aslakhellesoy)
* Added Example as synonym for Scenario in English and many other
  languages. This is to align Gherkin with BDD and Example Mapping
  terminology. (aslakhellesoy)
* Added Ukoliko as an additional synonym for Given, in Croatian. (#480 banovotz)

Changed

* (JavaScript,Java,Ruby) The native parsers are removed. Parsing is done by
  gherkin-go executables which are bundled with the published
  libraries. (aslakhellesoy, [jaysonesmith])
* (JavaScript,Java,Ruby,Go) Scenario keyword (or Example keyword) can be used
  to create Scenario Outline. (#353 aslakhellesoy)

Removed

* (Java) OSGi support has been removed. (#412 aslakhellesoy)

Fixed

* (JavaScript) Fix ability to pass language to parser. (#401 charlierudolph)
2019-01-20 13:40:44 +00:00
jperkin
5d18c01c28 ruby-gherkin: ALTERNATIVES file needs newline at the end.
Without it the EOF handling in the INSTALL script broke.
2018-10-18 14:36:48 +00:00
taca
2154b7c620 lang/ruby-gherkin: update to 5.1.0
5.1.0 - 2018-05-30

Added

* (.NET) - Better .NET Core support
* Support for Aragonese (#298 danilat)
* (C) build a shared libgherkin.so library which allows Gherkin to be used as
  a library. (Cucumber.ml currently uses this.) (cucumber/gherkin-c#6 cyocum)

Changed

* Pass the content type of a docstring down into its pickle string form (#292
  rjwittams)
* Fixed Russian equivalents of Given and Then. (#369 cerebellum13)

Fixed

* (C) Segfault when file does not exist (#394 #395 cyocum)
* (JavaScript) (#374 #377 charlierudolph)
* (Ruby, JavaScript) Remove berp.exe from packages (#289 aslakhellesoy)
* (Go) fixes validation for go vet tool on latest versions (#330 l3pp4rd)
* (Ruby) removed unneeded files from the gem
2018-09-23 15:31:22 +00:00
taca
2c087ac773 lang/ruby-gherkin: update to 5.0.0
[5.0.0] - 2017-10-13

Added

* Ability to specify an initial language for the parser, so that the #
  language header isn't required (#288 by charlierudolph and aslakhellesoy)
* A better wording for the Greek translation of Scenario Outline
  (¦°¦Å¦Ñ¦ô¦Ã¦Ñ¦Á¦Ì¦Ì¦Á ¦²¦Å¦Í¦Á¦Ñ¦ô¦Ï¦Ô) (#185 by pmatsinopoulos)
* Added female, singular Given in Romanian (Dat«¥ fiind) (#202 by tsundberg)
* (C) CMake support (#2 #3 by Pwera)

Changed

* Compile empty scenarios to empty pickles (#249 #264 by brasmusson)
2018-03-21 11:33:20 +00:00
jperkin
821d3b5622 Add newline at EOF to ensure the +INSTALL scripts are generated correctly. 2017-06-30 16:07:51 +00:00
taca
144b4ae61e Update ruby-gherkin to 4.1.3.
* pkgsrc change: add pkg_alternatives support.

Please refer
<https://github.com/cucumber/gherkin-ruby/compare/v4.0.0...v4.1.3> for
changes.
2017-06-21 14:05:34 +00:00
minskim
57c0220026 Import ruby-gherkin-4.0.0 as lang/ruby-gherkin
Gherkin is a parser and compiler for the Gherkin language.
2017-02-10 05:40:31 +00:00