From ed26421307e5a3a052a87a7de8fc178d29f3ac89 Mon Sep 17 00:00:00 2001 From: Alessandro Iezzi Date: Wed, 16 Mar 2022 23:18:06 +0100 Subject: Add module to parse program arguments --- optparser.rb | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 optparser.rb diff --git a/optparser.rb b/optparser.rb new file mode 100644 index 0000000..1886476 --- /dev/null +++ b/optparser.rb @@ -0,0 +1,47 @@ +# A simple website generator +# Copyright (C) 2022 Alessandro Iezzi +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +def optparse + options = {} + optparse = OptionParser.new do |opt| + opt.on("-f", "--file-name FILENAME", "File name of the page you want to render") { + |o| options[:fileName] = o + } + opt.on("-t", "--title TITLE", "Title of the rendered page") { + |o| options[:title] = o + } + opt.on("-m", "--master MASTER", "Master file page") { + |o| options[:master] = o + } + opt.on("-n", "--page-name NAME", "Page name") { + |o| options[:pageNames] = o + } + opt.on_tail("-h", "--help", "Show this message") do + puts opt + exit + end + end + + if ARGV.length < 1 then + puts optparse.help + exit 1 + end + + optparse.parse! + + return options + +end -- cgit v1.2.3