entitlements-app 1.1.0 → 1.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: b65ef59f26ece50f2a7924ff8fb852ee89878bc88d6a7546d66928416da99029
4
- data.tar.gz: 3a9a391bc53f96ed3b09f0e206a9a4d6d0eeb5e0cff7013c3372c9f47e96a5fb
3
+ metadata.gz: 673276c6d5c6b7dc61983821534d7497554222b93b9ab27d900fa833094e491a
4
+ data.tar.gz: ad7d0e17411fd38ecad47eb48bd982cc394230bae88729a5d65cc8fec18b735f
5
5
  SHA512:
6
- metadata.gz: ea71dab3560473cf24819f74dc146eb8b357c96a6751f45f1bdef5c565cfb383afd0603a9deca5ede3cf6212fc82e2ade13b3ca70bf67486bcf067d111ac173f
7
- data.tar.gz: 2e8ee03e6577a7a798b13af0f66571792a32a6087194f0952691b6511ebea19cc268976083ce231fad67a01494ec0a2eb4fbb097241bec62001fc98aa5fbf8f5
6
+ metadata.gz: bd42753f0ead7b42ba97ab998f7f31ba89c01071a8f5cde7a5eebf0a4067cf17321db9eb2a2899a7fc78b112dfd6b37f765d952bb3b4722b4fe49af5a01cca0d
7
+ data.tar.gz: d057f7d16798a6121a53441c3b254f604d8343aacbd7e8409aa494d773c45f809bea0a74fa50370a767656fda31ec29d42781a90c641ea70fc8c01a5f89819d5
@@ -34,6 +34,28 @@ module Entitlements
34
34
  parsed_data.fetch("description", "")
35
35
  end
36
36
 
37
+ # Standard interface: Get the schema version of this group.
38
+ #
39
+ # Takes no arguments.
40
+ # Examples: "entitlements/v1", "entitlements/v1.2.3", "entitlements/1.2.3"
41
+ # Format: namespace/major.minor.patch
42
+ #
43
+ # Returns a String with the schema version (k8s-style), or "entitlements/v1" if undefined.
44
+ Contract C::None => String
45
+ def schema_version
46
+ schema_version = parsed_data.fetch("schema_version", "entitlements/v1").to_s
47
+
48
+ namespace, version = schema_version.split("/")
49
+
50
+ unless namespace.match?(/\A[a-zA-Z0-9]+\z/) && version.match?(/\A(v?\d+(\.\d+){0,2})\z/)
51
+ raise "Invalid schema version format: #{schema_version} - Expected format is '<namespace>/<version>' " \
52
+ "- Examples: entitlements/v1, entitlements/v1.2.3, entitlements/1.2.3"
53
+ end
54
+
55
+ # rebuild the schema version string to ensure it's in the correct format and return it
56
+ return "#{namespace}/#{version}"
57
+ end
58
+
37
59
  # Files can support modifiers that act independently of rules.
38
60
  # This returns the modifiers from the file as a hash.
39
61
  #
data/lib/version.rb CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Entitlements
4
4
  module Version
5
- VERSION = "1.1.0"
5
+ VERSION = "1.2.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: entitlements-app
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub, Inc. Security Ops
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-27 00:00:00.000000000 Z
11
+ date: 2025-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -526,7 +526,7 @@ homepage: https://github.com/github/entitlements-app
526
526
  licenses:
527
527
  - MIT
528
528
  metadata: {}
529
- post_install_message:
529
+ post_install_message:
530
530
  rdoc_options: []
531
531
  require_paths:
532
532
  - lib
@@ -542,7 +542,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
542
542
  version: '0'
543
543
  requirements: []
544
544
  rubygems_version: 3.5.9
545
- signing_key:
545
+ signing_key:
546
546
  specification_version: 4
547
547
  summary: git-managed LDAP group configurations
548
548
  test_files: []