Class: Metanorma::Cli::Command
- Inherits:
-
ThorWithConfig
- Object
- Thor
- ThorWithConfig
- Metanorma::Cli::Command
- Defined in:
- lib/metanorma/cli/command.rb
Class Method Summary collapse
Instance Method Summary collapse
- #collection(filename = nil) ⇒ Object
- #compile(file_name = nil) ⇒ Object
- #convert(inputfile) ⇒ Object
- #list_doctypes(type = nil) ⇒ Object
- #list_extensions(type = nil) ⇒ Object
- #new(name) ⇒ Object
- #version ⇒ Object
Class Method Details
.exit_on_failure? ⇒ Boolean
172 173 174 |
# File 'lib/metanorma/cli/command.rb', line 172 def self.exit_on_failure? true end |
Instance Method Details
#collection(filename = nil) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/metanorma/cli/command.rb', line 89 def collection(filename = nil) if filename = .dup [:compile] = () Metanorma::Cli::Collection.render(filename, ) else UI.say("Need to specify a file to process") end rescue ArgumentError => e UI.say e. end |
#compile(file_name = nil) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/metanorma/cli/command.rb', line 59 def compile(file_name = nil) if file_name && ![:version] documents = select_wildcard_documents(file_name) || [file_name] documents.each { |document| compile_document(document, .dup) } elsif [:version] invoke(:version, [], type: [:type], format: [:format]) elsif .keys.size >= 2 UI.say("Need to specify a file to process") else invoke :help end end |
#convert(inputfile) ⇒ Object
125 126 127 128 129 |
# File 'lib/metanorma/cli/command.rb', line 125 def convert(inputfile) MnConvert.convert(inputfile, ) rescue Error => e UI.say e. end |
#list_doctypes(type = nil) ⇒ Object
153 154 155 156 157 158 159 160 161 |
# File 'lib/metanorma/cli/command.rb', line 153 def list_doctypes(type = nil) processors = backend_processors if type && processors[type.to_sym] processors = { type.to_sym => processors[type.to_sym] } end print_doctypes_table(processors) end |
#list_extensions(type = nil) ⇒ Object
146 147 148 149 150 |
# File 'lib/metanorma/cli/command.rb', line 146 def list_extensions(type = nil) single_type_extensions(type) || all_type_extensions rescue LoadError UI.say("Couldn't load #{type}, please provide a valid type!") end |
#new(name) ⇒ Object
25 26 27 |
# File 'lib/metanorma/cli/command.rb', line 25 def new(name) create_new_document(name, ) end |
#version ⇒ Object
137 138 139 140 141 142 143 |
# File 'lib/metanorma/cli/command.rb', line 137 def version Metanorma::Cli.load_flavors backend_version([:type]) || supported_backends [:type] or dependencies_versions rescue NameError => e UI.say(e) end |