Class: MDQT::CLI::Entities

Inherits:
Base
  • Object
show all
Defined in:
lib/mdqt/cli/entities.rb

Instance Method Summary collapse

Methods inherited from Base

#advise_on_xml_signing_support, #args, #btw, check_requirements, #colour_shell?, #explain, #extract_certificate_paths, #get_stdin, #halt!, #hey, #initialize, introduce, #options, #options=, #output, #pastel, #pipeable?, run, #say, #service_url, service_url, #yay

Constructor Details

This class inherits a constructor from MDQT::CLI::Base

Instance Method Details

#runObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/mdqt/cli/entities.rb', line 9

def run

  options.validate = true

  advise_on_xml_signing_support
  halt!("Cannot check a metadata file without XML support: please install additional gems") unless MDQT::Client.verification_available?

  client = MDQT::Client.new(
    service_url(options),
    verbose: options.verbose,
    explain: options.explain ? true : false,
  )

  args.each do |filename|

    file = client.(filename)

    halt!("Cannot access file #{filename}") unless file.readable?

    halt!("XML validation failed for #{filename}:\n#{file.validation_error}") unless file.valid?

    file.entity_ids.each do |id|
      id = options.sha1 ? [id, MDQT::Client::IdentifierUtils.transform_uri(id)].join(" ") : id
      say(id)
    end

  end

end