Sha256: 4ecbd9faa0a8ea8e1dac0012a3e86f1e2fd7918a06d092fbe1f82d11dfd47827
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
#!/usr/bin/env ruby # frozen_string_literal: true require 'bundler/setup' require 'rack/contrib' require 'diver_down' require 'diver_down-web' require 'optparse' options = {} option_parser = OptionParser.new do |opts| opts.banner = <<~BANNER Usage: diver_down_web [options] Example: diver_down_web --definition-dir /path/to/definitions --metadata /path/to/metadata.yml Options: BANNER opts.on('--definition-dir PATH', 'Path to the definition directory') do |path| options[:definition_dir] = path end opts.on('--metadata PATH', 'Path to the metadata.yml') do |path| options[:metadata] = path end end option_parser.parse!(ARGV) unless options[:definition_dir] puts 'Missing --definition-dir' puts puts option_parser.help exit 1 end app = Rack::JSONBodyParser.new( DiverDown::Web.new( definition_dir: options.fetch(:definition_dir), metadata: DiverDown::Web::Metadata.new(options[:metadata] || Tempfile.new(['metadata', '.yaml']).path) ) ) begin # Rack 2.0 require 'rack' require 'rack/server' Rack::Server.new(app:).start rescue LoadError # Rack 3.0 require 'rackup' Rackup::Server.new(app:).start end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
diver_down-0.0.1.alpha16 | exe/diver_down_web |
diver_down-0.0.1.alpha15 | exe/diver_down_web |