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