Sha256: 97d1cbe6719a52e969a3c8a311846eff56828c307ea2e30b9fefa4aeb60391b5
Contents?: true
Size: 1.67 KB
Versions: 10
Compression:
Stored size: 1.67 KB
Contents
require 'optparse' module Filepreviews # @author Jonah Ruiz <jonah@pixelhipsters.com> # A Simple class for the executable version of the gem class CLI BANNER = <<MSG Usage: filepreviews [OPTION] [URL] Description: Filepreviews.io - Thumbnails and metadata for almost any kind of file Options: MSG # Passes arguments from ARGV and sets metadata flag # @param args [Array<String>] The command-line arguments def initialize(args) @args, @metadata = args, false end # Configures the arguments for the command # @param opts [OptionParser] def options(opts) opts.version = Filepreviews::VERSION opts.banner = BANNER opts.set_program_name 'Filepreviews.io' opts.on('-k', '--api_key [key]', String, 'use API key from Filepreviews.io') do |api_key| Filepreviews.api_key = api_key end opts.on('-s', '--secret_key [key]', String, 'use Secret key from Filepreviews.io') do |secret_key| Filepreviews.secret_key = secret_key end opts.on('-m', '--metadata', 'load metadata response') do @metadata = true end opts.on_tail('-v', '--version', 'display the version of Filepreviews') do puts opts.version exit end opts.on_tail('-h', '--help', 'print this help') do puts opts.help exit end end # Parses options sent from command-line def parse opts = OptionParser.new(&method(:options)) opts.parse!(@args) return opts.help if @args.last.nil? file_preview = Filepreviews.generate(@args.last) @metadata ? file_preview.metadata(js: true) : file_preview end end end
Version data entries
10 entries across 10 versions & 1 rubygems