class Filepreviews::CLI

@author Jonah Ruiz <jonah@pixelhipsters.com> A Simple class for the executable version of the gem

Constants

Public Class Methods

new(args) click to toggle source

@param args [Array<String>] The command-line arguments

# File lib/filepreviews/cli.rb, line 16
def initialize(args)
  @args, @metadata = args, false
end

Public Instance Methods

options(opts) click to toggle source

Configures the arguments for the command @param opts [OptionParser]

# File lib/filepreviews/cli.rb, line 22
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
parse() click to toggle source

Parses options sent from command-line

# File lib/filepreviews/cli.rb, line 53
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