main
 1# frozen_string_literal: true
 2
 3module Saml
 4  module Kit
 5    module Cli
 6      module Commands
 7        class Metadata < Thor
 8          desc 'register url', 'Registers the Metadata from the remote url.'
 9          def register(url)
10            say registry.register_url(url).to_xml(pretty: true), :green
11          end
12
13          desc 'list', "List each of the registered entityId's"
14          def list
15            if registry.count.zero?
16              say('Register metadata using `saml-kit metadata register <url>`')
17            end
18            registry.each do |x|
19              say x.entity_id, :green
20            end
21          end
22
23          desc 'show entity_id', 'show the metadata associated with an entityId'
24          def show(entity_id)
25            metadata = registry.metadata_for(entity_id)
26            if metadata
27              Report.new(metadata).print(self)
28            else
29              say "`#{entity_id}` is not registered", :red
30            end
31          end
32
33          private
34
35          def registry
36            Saml::Kit.registry
37          end
38        end
39      end
40    end
41  end
42end