class Decidim::Msad::Verification::MetadataCollector

Attributes

saml_attributes[R]

Public Class Methods

new(saml_attributes) click to toggle source
# File lib/decidim/msad/verification/metadata_collector.rb, line 7
def initialize(saml_attributes)
  @saml_attributes = saml_attributes
end

Public Instance Methods

metadata() click to toggle source
# File lib/decidim/msad/verification/metadata_collector.rb, line 11
def metadata
  return nil unless Decidim::Msad.metadata_attributes.is_a?(Hash)
  return nil if Decidim::Msad.metadata_attributes.blank?

  collect.delete_if { |_k, v| v.nil? }
end

Protected Instance Methods

collect() click to toggle source
# File lib/decidim/msad/verification/metadata_collector.rb, line 22
def collect
  Decidim::Msad.metadata_attributes.map do |key, defs|
    value = begin
      case defs
      when Hash
        saml_attributes.public_send(defs[:type], defs[:name])
      when String
        saml_attributes.single(defs)
      end
    end

    [key, value]
  end.to_h
end