versionaire 15.1.0 → 15.3.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: fb585314e2ed4d50b389265a133b44d60f6a588d4f583978397994cc895730c7
4
- data.tar.gz: 51dd931a27b04741a07fdb9ae8f9ef0a026c8428c530e2629714446654460e4b
3
+ metadata.gz: 51ca8549d8d7dc88b44bafa73e5cf4a15b8e804091753289edab08fc1d03acc7
4
+ data.tar.gz: 4098d37c05c2ba2f96c387d398eb49e3502110dfd227614aa51ad6df95fb0d84
5
5
  SHA512:
6
- metadata.gz: ab18cacc5b072098ca62aae232749384bdbee0f8147f81889ee8c58dad9f43a8d6e34c70075701450bad816a3ce008a26da19d0662c81b5ffb7bd39cf173f75b
7
- data.tar.gz: 0e896a7819fcf9b005c3e7ada9c8e5bc8a4ec1784ec49a5a9212c9793123037de54fdf87025a0d5a811f13238dc868058a592692922346bb08c468d6c29bc238
6
+ metadata.gz: 188dcf5dc8f8a59a9b1778a8cdec8147e19f95003e689fda7229e9912041d43f7d832442992495e21afaa10feb51acc4d482cb2eb7379672a0689e7a55faefae
7
+ data.tar.gz: 78a99008e5ed1818b3e889833758dcee38f835f237a2b83deba838d1c215c720aceae6780e2aa26d635f2a7df4c78305528f41184c96ec37172982f1df2799f5
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -183,7 +183,7 @@ version.to_h # {major: 0, minor: 0, patch: 0}
183
183
  version.to_proc # #<Proc:0x000000010b015b88 (lambda)>
184
184
  ----
185
185
 
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:
186
+ To elaborate on procs, this means the following is possible where you might want to collect all minor version values or make use of version information in other useful ways:
187
187
 
188
188
  [source,ruby]
189
189
  ----
@@ -195,6 +195,20 @@ version.to_proc.call :major # 1
195
195
  [version, version, version].map(&:minor) # [2, 2, 2]
196
196
  ----
197
197
 
198
+ === Kinds
199
+
200
+ You can ask what kind the version is:
201
+
202
+ [source,ruby]
203
+ ----
204
+ Version("1.1.1").kind # :patch
205
+ Version("1.1.0").kind # :minor
206
+ Version("1.0.0").kind # :major
207
+ Version("0.1.0").kind # :minor
208
+ Version("0.0.1").kind # :patch
209
+ Version("0.0.0").kind # :nascent
210
+ ----
211
+
198
212
  === Inspections
199
213
 
200
214
  You can inspect a version which is the equivalent of an escaped string representation. Example:
@@ -206,6 +220,26 @@ using Versionaire::Cast
206
220
  Version("1.2.3").inspect # "\"1.2.3\""
207
221
  ----
208
222
 
223
+ You can also ask if a version is a major, minor, or patch. Example:
224
+
225
+ [source,ruby]
226
+ ----
227
+ Version("1.0.0").major? # true
228
+ Version("0.1.0").major? # false
229
+ Version("0.0.1").major? # false
230
+ Version("0.0.0").major? # false
231
+
232
+ Version("1.0.0").minor? # false
233
+ Version("0.1.0").minor? # true
234
+ Version("0.0.1").minor? # false
235
+ Version("0.0.0").minor? # false
236
+
237
+ Version("1.0.0").patch? # false
238
+ Version("0.1.0").patch? # false
239
+ Version("0.0.1").patch? # true
240
+ Version("0.0.0").patch? # false
241
+ ----
242
+
209
243
  === Comparisons
210
244
 
211
245
  All versions are comparable which means any of the operators from the `+Comparable+` module will
@@ -39,6 +39,26 @@ module Versionaire
39
39
 
40
40
  def inspect = to_s.inspect
41
41
 
42
+ def kind
43
+ if major? then :major
44
+ elsif minor? then :minor
45
+ elsif patch? then :patch
46
+ else :nascent
47
+ end
48
+ end
49
+
50
+ def major? = major.positive? && minor.zero? && patch.zero?
51
+
52
+ def minor?
53
+ nonmajor = major.zero?
54
+ nonpatch = patch.zero?
55
+
56
+ !(nonmajor && minor.zero? && nonpatch) &&
57
+ (nonmajor || major.positive?) && minor.positive? && nonpatch
58
+ end
59
+
60
+ def patch? = patch.positive?
61
+
42
62
  def to_proc = method(:public_send).to_proc
43
63
 
44
64
  def to_s = to_a.join DELIMITER
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 = "15.1.0"
5
+ spec.version = "15.3.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/versionaire"
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: 15.1.0
4
+ version: 15.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -9,9 +9,9 @@ bindir: bin
9
9
  cert_chain:
10
10
  - |
11
11
  -----BEGIN CERTIFICATE-----
12
- MIIENjCCAp6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
12
+ MIIENjCCAp6gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
13
13
  a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
14
- aW8wHhcNMjUwMzIyMTQ1NDE3WhcNMjYwMzIyMTQ1NDE3WjBBMQ8wDQYDVQQDDAZi
14
+ aW8wHhcNMjYwMzI1MTI0OTEyWhcNMjcwMzI1MTI0OTEyWjBBMQ8wDQYDVQQDDAZi
15
15
  cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
16
16
  GRYCaW8wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCro8tj5/E1Hg88
17
17
  f4qfiwPVd2zJQHvdYt4GHVvuHRRgx4HGhJuNp+4BId08RBn7V6V1MW6MY3kezRBs
@@ -23,15 +23,15 @@ cert_chain:
23
23
  GUHU9MyIXbFOsnp3K3ADrAVjPWop8EZkmUR3MV/CUm00w2cZHCSGiXl1KMpiVKvk
24
24
  Ywr1gd2ZME4QLSo+EXUtLxDUa/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaM5MDcw
25
25
  CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAFgmv0tYMZnItuPycSM
26
- F5wykJEVMA0GCSqGSIb3DQEBCwUAA4IBgQBlzRfyAYx/fCFjizS0Npxw4+4T3aYL
27
- hbXoDqQRWjxuhFZcXUymhz3r8/Ltyri9lSof8grzB+8/+mrMVms7Gwt5qolk6zdn
28
- FkySGy/jmpN12ldOHFbBEnyVBZNBvOBVb8zkkw8PhiHdBdXOUm4Jy39yJvBLfjcC
29
- iM1aeWPmgPy1GbvZU+leRGZLt6dRIR9oCDXcWLRjha8xLMoz6Yn9fJBYexBA3iEz
30
- h5S7pn4AX/JhVRiSyl8pAy4jEKydpyQrliH3gHkpNmUS/XDczP+9xX1bAB4BvqL2
31
- NCxMcQ+hiJNqCKpPgHxaOOHZfIxV33logIuPEQ8NryHAwZ9ZWnwtYDE8kQGGKskI
32
- Kkm6QT474hZl7MpwiJjWgW313CR7jUEekQahX1QxCxHPI7LSrKpno0plH3uWIOQp
33
- KUlkb9uyACBgyRO52ZHiDVI8YvtU5O/j9pSes9/3XgvBeC1onx4qWp+uRX7eVsYS
34
- GiijocTc3enZVrXERetaXj8/9XWs3fB3HWY=
26
+ F5wykJEVMA0GCSqGSIb3DQEBCwUAA4IBgQAG+ykjp+DIXSybGEtX+/ve974mYfN6
27
+ 8U7qcVfRM+qDSOZ+97iu30qUTbVAKIHlHCDKRn3SgOffDUB5VU2MsJBh/3TPKWBZ
28
+ anB/uzMcwOfru+qyA3b7ZFqZzRLWmR5FtPObFxc0gYMT3YvLNHk2Nb9Vjq/PoiGG
29
+ e75PXweDOokwDA5m1gMOz1rdp/dlGMXkSFQg94PPVyUKXgO4VzWTgePSDxOIL+v6
30
+ +OWV6AaEH9BaqxnmdA5ubi0L7bhl0gbN92FxpNO3kpTjww8kme856a+wCK3qyM5w
31
+ 7ZLbUexynDN0Au8eSpT2Bf6ztGmB1S9ffzDJsGX1/lkpMIB51e48Xe2+gzzOgemk
32
+ CdZaGupj6WkarnT8kh/cPtyA5ax4rGX6GOS8meGxzkv8Uy0JSEOYAp6wLfIisYZp
33
+ IJBIXIOkwKKJ0eB5YHrUSJxzpP4LlcIg/eTftaXmJdYjy+2VRrCZYDjfguyLmMjR
34
+ KR9w4/Fjvqy87kCHmxMWa6IL2Vzt1Clm2cA=
35
35
  -----END CERTIFICATE-----
36
36
  date: 1980-01-02 00:00:00.000000000 Z
37
37
  dependencies:
@@ -91,7 +91,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  - !ruby/object:Gem::Version
92
92
  version: '0'
93
93
  requirements: []
94
- rubygems_version: 4.0.4
94
+ rubygems_version: 4.0.12
95
95
  specification_version: 4
96
96
  summary: An immutable, thread-safe, and strict semantic version type.
97
97
  test_files: []
metadata.gz.sig CHANGED
Binary file