<commit_before>Semantic
========

A small Ruby utility class to aid in the storage, parsing, and comparison of SemVer-style Version strings.

See [the SemVer site](http://semver.org) for more details.

Usage
-----

This library exposes a single class – `Semantic::Version`. Simply pass in a valid SemVer string to
the initializer.

```ruby
require 'semantic'

version = Semantic::Version.new '1.6.5'
version.major             # => 1
version.minor             # => 6
version.patch             # => 5

newer_version = Semantic::Version.new '1.7.0'
version > newer_version   # => false
newer_version <=> version # => 1

complex_version = Semantic::Version.new '3.7.9-pre.1+revision.15723'
complex_version.pre       # => "pre.1"
complex_version.build     # => "revision.15623"
```

There is also a set of core extensions as an optional require:

```ruby
require 'semantic'
require 'semantic/core_ext'

"1.8.7-pre.123".to_version
```

License
-------
Copyright (c) 2012 <NAME>. See LICENSE for details.
<commit_msg>Let's make this a hyperlink while we're at it.<commit_after>Semantic
========

A small Ruby utility class to aid in the storage, parsing, and comparison of SemVer-style Version strings.

See [the SemVer site](http://semver.org) for more details.

Usage
-----

This library exposes a single class – `Semantic::Version`. Simply pass in a valid SemVer string to
the initializer.

```ruby
require 'semantic'

version = Semantic::Version.new '1.6.5'
version.major             # => 1
version.minor             # => 6
version.patch             # => 5

newer_version = Semantic::Version.new '1.7.0'
version > newer_version   # => false
newer_version <=> version # => 1

complex_version = Semantic::Version.new '3.7.9-pre.1+revision.15723'
complex_version.pre       # => "pre.1"
complex_version.build     # => "revision.15623"
```

There is also a set of core extensions as an optional require:

```ruby
require 'semantic'
require 'semantic/core_ext'

"1.8.7-pre.123".to_version
```

License
-------
Copyright (c) 2012 <NAME>. See [LICENSE](LICENSE) for details.

{'fraction_non_alphanumeric': 0.13905038759689922, 'fraction_numerical': 0.03391472868217054, 'mean_word_length': 3.393617021276596, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 23, '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': '3123774', 'n_tokens_mistral': 702, 'n_tokens_neox': 649, 'n_words': 206}