entitlements-app 1.0.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: edd2af5e265395fe5de06640cfc7c3579b53d433d2f0744905f4c3f73546438c
4
- data.tar.gz: afdb53966f6b2187abb7c306972cc6d25128e263004bd5c280bc5574cccb0cf6
3
+ metadata.gz: 673276c6d5c6b7dc61983821534d7497554222b93b9ab27d900fa833094e491a
4
+ data.tar.gz: ad7d0e17411fd38ecad47eb48bd982cc394230bae88729a5d65cc8fec18b735f
5
5
  SHA512:
6
- metadata.gz: dae84ff7606cac9ede726dabd0a61c1bd7c9124a4f2133c6c3bd0ec353056df88d1ef7d11eda2e4a0dc3ef51c15624cce74b6dc72cacc9ee9958c9be42b1fe5a
7
- data.tar.gz: f034f7180ecd035136ee136181c0ca9f060884fa6f5d9fd2f1b834a4d415e0e944144fc7a4ac3b67a80fd919dc2cf7ac171dc20fa7cea03d5d09cc15f7974dcf
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.0.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.0.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-05-30 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
@@ -86,6 +86,34 @@ dependencies:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
88
  version: '3.1'
89
+ - !ruby/object:Gem::Dependency
90
+ name: ostruct
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 0.6.0
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 0.6.0
103
+ - !ruby/object:Gem::Dependency
104
+ name: logger
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.6'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.6'
89
117
  - !ruby/object:Gem::Dependency
90
118
  name: debug
91
119
  requirement: !ruby/object:Gem::Requirement
@@ -498,7 +526,7 @@ homepage: https://github.com/github/entitlements-app
498
526
  licenses:
499
527
  - MIT
500
528
  metadata: {}
501
- post_install_message:
529
+ post_install_message:
502
530
  rdoc_options: []
503
531
  require_paths:
504
532
  - lib
@@ -514,7 +542,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
514
542
  version: '0'
515
543
  requirements: []
516
544
  rubygems_version: 3.5.9
517
- signing_key:
545
+ signing_key:
518
546
  specification_version: 4
519
547
  summary: git-managed LDAP group configurations
520
548
  test_files: []