versionaire 13.0.0 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a8cf6a2aa96403a452e5b291242cb36cb8ff71449b3acd0861bb2f3fb9c3b65d
4
- data.tar.gz: aa535a134a5d9b6cfffb25f3a5cfa71e1bad8a327263e41205fd0cf443432d63
3
+ metadata.gz: 5ebc074f2da41cdb720c889640ecf2ad67a7cfc7bc983251a05f9298affe9393
4
+ data.tar.gz: a855136e44d05ef99d9b410005697723667faccfd5a82707e54de585acdbd309
5
5
  SHA512:
6
- metadata.gz: 264fe3b38630ed70cd3e9fa50c7739f4770d4b7e51c893deec96c044b8896775fb208331637e9c0ba5f0f8003ce4d14f441a5698a6503f02337deed96296fc33
7
- data.tar.gz: b3129dc4cc0ab3ff9a3cc14828071f81a5390e1fce5597a147cae104a0065aff07737725f3064bfb0c9198854efe757f8ae85dff94f1994c0a13e5e302e9644c
6
+ metadata.gz: f5d41fb1e8f69a08d4e2c27ae874b19d421afa0443816bb56d7d8e665e01d7e7de24e90c1eba02611eac970af22e5000920b713948c1e4d277c7088eb74791a2
7
+ data.tar.gz: 9cb2f74a6b063ffe7effad7f79adfa03e184c2ab32086574c7826fe86d0a54f3bec315ee832fcdddacaa77cd0c0ad59899023359b6f2df2c960cdf08a2a26db0
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -4,25 +4,21 @@
4
4
 
5
5
  :option_parser_link: link:https://alchemists.io/articles/ruby_option_parser[OptionParser]
6
6
  :semver_link: link:https://semver.org[Semantic Versioning]
7
+ :strict_semver_link: link:https://alchemists.io/articles/strict_semantic_versioning[Strict Semantic Versioning]
7
8
 
8
9
  = Versionaire
9
10
 
10
- Ruby doesn't provide a primitive version type by default so Versionaire fills this gap by providing immutable and thread-safe {semver_link} so you can leverage versions within your applications. This new `Version` type behaves and feels a lot like other primitives (i.e. `String`, `Array`, `Hash`, etc) and can even be cast/converted from other primitives.
11
+ Ruby doesn't provide a primitive version type by default so Versionaire fills this gap by providing immutable and thread-safe {strict_semver_link} so you can leverage versions within your applications. This new `Version` type behaves and feels a lot like other primitives (i.e. `String`, `Array`, `Hash`, `Proc`, etc) and can be cast/converted from other primitives.
11
12
 
12
13
  toc::[]
13
14
 
14
15
  == Features
15
16
 
16
- * Provides _strict_ {semver_link} which means `<major>.<minor>.<patch>`.
17
+ * Provides {strict_semver_link} which means `<major>.<minor>.<patch>`.
17
18
  * Provides immutable, thread-safe version instances.
18
- * Converts (casts) from a `String`, `Array`, `Hash`, or `Version` to a `Version`.
19
- * Disallows `<major>.<minor>.<patch>-<pre-release>` usage even though {semver_link} suggests that you _may_ use pre-release information.
20
- * Disallows `<major>.<minor>.<patch>+<build_metadata>` usage even though {semver_link} suggests that you _may_ use build metadata.
21
-
22
- == Screencasts
23
-
24
- [link=https://alchemists.io/screencasts/versionaire]
25
- image::https://alchemists.io/images/screencasts/versionaire/cover.svg[Screencast,600,240,role=focal_point]
19
+ * Converts (casts) from a `String`, `Array`, `Hash`, `Proc`, or `Version` to a `Version`.
20
+ * Disallows `<major>.<minor>.<patch>-<pre-release>` usage even though {semver_link} suggests you _may_ use pre-release information.
21
+ * Disallows `<major>.<minor>.<patch>+<build_metadata>` usage even though {semver_link} suggests you _may_ use build metadata.
26
22
 
27
23
  == Requirements
28
24
 
@@ -139,8 +135,9 @@ Versionaire::Version major: 1, minor: 0, patch: 0
139
135
  Versionaire::Version version
140
136
  ----
141
137
 
142
- Each of these conversions will result in a version object that represents "`1.0.0`". When attempting
143
- to convert an unsupported type, a `Versionaire::Error` exception will be thrown.
138
+ Each of these conversions will result in a version object that represents "`1.0.0`".
139
+
140
+ When attempting to convert an unsupported type, a `Versionaire::Error` exception will be thrown.
144
141
 
145
142
  ==== Refinement
146
143
 
@@ -160,9 +157,8 @@ Version version
160
157
 
161
158
  By adding `using Versionaire::Cast` to your implementation, this allows Versionaire to refine
162
159
  `Kernel` so you have a top-level `Version` conversion function much like Kernel's native support for
163
- `Integer`, `String`, `Array`, `Hash`, etc. The benefit to this approach is it reduces the amount of
164
- typing, doesn't pollute your entire object space like a monkey patch would, and provides a idiomatic
165
- approach to casting like any other primitive.
160
+ `Integer`, `String`, `Array`, `Hash`, etc. The benefit to this approach is to reduce the amount of
161
+ typing so you don't pollute your entire object space, like a monkey patch, while providing an idiomatic approach to casting like any other primitive.
166
162
 
167
163
  ==== Implicit
168
164
 
@@ -187,7 +183,7 @@ version.to_h # {major: 0, minor: 0, patch: 0}
187
183
  version.to_proc # #<Proc:0x000000010b015b88 (lambda)>
188
184
  ----
189
185
 
190
- To elaborate on procs further, this means the following is possible:
186
+ To elaborate on procs, this means the following is possible where you might want to collect all minor verions values or make use of version information in other useful ways:
191
187
 
192
188
  [source,ruby]
193
189
  ----
data/versionaire.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "versionaire"
5
- spec.version = "13.0.0"
5
+ spec.version = "13.2.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/versionaire"
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
25
  spec.required_ruby_version = "~> 3.3"
26
- spec.add_dependency "refinements", "~> 12.0"
26
+ spec.add_dependency "refinements", "~> 12.1"
27
27
 
28
28
  spec.files = Dir["*.gemspec", "lib/**/*"]
29
29
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: versionaire
3
3
  version: !ruby/object:Gem::Version
4
- version: 13.0.0
4
+ version: 13.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2024-01-01 00:00:00.000000000 Z
38
+ date: 2024-03-03 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: refinements
@@ -43,14 +43,14 @@ dependencies:
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '12.0'
46
+ version: '12.1'
47
47
  type: :runtime
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '12.0'
53
+ version: '12.1'
54
54
  description:
55
55
  email:
56
56
  - brooke@alchemists.io
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  requirements: []
98
- rubygems_version: 3.5.3
98
+ rubygems_version: 3.5.6
99
99
  signing_key:
100
100
  specification_version: 4
101
101
  summary: An immutable, thread-safe, and semantic version type.
metadata.gz.sig CHANGED
Binary file