versionaire 13.0.0 → 13.2.0

Sign up to get free protection for your applications and to get access to all the features.
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