class Compliance::Support

which feature
is a helper that provides information which version of compliance supports

def self.supported?(feature, version)

determines if the given version support a certain feature
def self.supported?(feature, version)
  sup = version_with_support(feature)
  if sup.is_a?(Array)
    Gem::Version.new(version) >= sup[0] &&
      Gem::Version.new(version) < sup[1]
  else
    Gem::Version.new(version) >= sup
  end
end

def self.version_with_support(feature)

- an array [v0, v1] of two versions: v supports [v0, v1] iff v0 <= v < v1
- a version v0: v supports v0 iff v0 <= v
for a feature, returns either:
def self.version_with_support(feature)
  case feature.to_sym
  when :oidc # open id connect authentication
    Gem::Version.new('0.16.19')
  else
    Gem::Version.new('0.0.0')
  end
end