Class: HasHelpers::ServiceTrust::Capability
- Inherits:
-
Object
- Object
- HasHelpers::ServiceTrust::Capability
- Defined in:
- lib/has_helpers/service_trust/capability.rb
Class Method Summary collapse
- .any_match?(capability_set, required_list) ⇒ Boolean
- .effective(token_caps:, allowed_caps:) ⇒ Object
- .includes?(capability_set, required) ⇒ Boolean
- .parse(string_or_array) ⇒ Object
Class Method Details
.any_match?(capability_set, required_list) ⇒ Boolean
25 26 27 28 |
# File 'lib/has_helpers/service_trust/capability.rb', line 25 def any_match?(capability_set, required_list) set = parse(capability_set) Array(required_list).any? { |required| set.include?(required.to_s) } end |
.effective(token_caps:, allowed_caps:) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/has_helpers/service_trust/capability.rb', line 13 def effective(token_caps:, allowed_caps:) allowed = parse(allowed_caps) token = parse(token_caps) return allowed if token.empty? token & allowed end |
.includes?(capability_set, required) ⇒ Boolean
21 22 23 |
# File 'lib/has_helpers/service_trust/capability.rb', line 21 def includes?(capability_set, required) parse(capability_set).include?(required.to_s) end |
.parse(string_or_array) ⇒ Object
7 8 9 10 11 |
# File 'lib/has_helpers/service_trust/capability.rb', line 7 def parse(string_or_array) Array(string_or_array).flat_map { |entry| entry.to_s.split(/\s+/) }. reject(&:blank?). uniq end |