<commit_before>= Tagregate

Tagregate adds helpful Rake tasks to Ruby on Rails applications that use Cucumber tags.

== Included Rake Tasks
  rake cucumber:tagregate:count
Prints the name and number of occurrences of all Cucumber tags found in your
application's features/ directory

== Installation
  # In your Rails application's Gemfile...
  group :test, :development do
    gem "tagregate"
  end

== Copyright

Copyright (c) 2012 HowAboutWe. See LICENSE.txt for<commit_msg>More README updates<commit_after>= Tagregate

Tagregate adds helpful Rake tasks to Ruby on Rails applications that use Cucumber tags.

== Why?

We now have a rather extensive Cucumber test suite at HowAboutWe, but even when
it was smaller, it quickly became apparent that the long time it took to run the
entire suite was negatively impacting our development process.

While any sufficiently large Cucumber suite will eventually need more
substantial optimizations like parallel execution and fast hardware, a
reasonable first step for us was to begin tagging each new feature with the
areas of the codebase most related to our test. Then for example if we were
reworking the signup page, we could run the @signup tag, get a decent level
of confidence in the regression risk of our change, and only have to wait for a
subset of our entire Cucumber test suite to finish running.

Eventually we had a considerable number of tags in our suite, so we wrote
Tagregate to help us keep them organized and valuable.

== Included Rake Tasks
  rake cucumber:tagregate:count
Prints the name and number of occurrences of all Cucumber tags found in your
application's features/ directory

== Installation
  # In your Rails application's Gemfile...
  group :test, :development do
    gem "tagregate"
  end

== Copyright

Copyright (c) 2012 HowAboutWe. See LICENSE.txt for
{'fraction_non_alphanumeric': 0.03980370774263904, 'fraction_numerical': 0.004362050163576881, 'mean_word_length': 4.494011976047904, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5231310', 'n_tokens_mistral': 502, 'n_tokens_neox': 467, 'n_words': 269}