module HammerCLI

Constants

DEFAULT_FILE
EX_CANTCREAT
EX_CONFIG
EX_DATAERR
EX_IOERR
EX_NOHOST
EX_NOINPUT
EX_NOPERM
EX_NOT_FOUND

non POSIX codes

EX_NOUSER
EX_OK

taken from sysexits.h

EX_OSERR
EX_OSFILE
EX_PROTOCOL
EX_RETRY
EX_SOFTWARE
EX_TEMPFAIL
EX_UNAUTHORIZED
EX_UNAVAILABLE
EX_USAGE
V_QUIET
V_UNIX
V_VERBOSE

Public Class Methods

_option_accessor_name(name) click to toggle source
# File lib/hammer_cli/options/option_definition.rb, line 15
def self._option_accessor_name(name)
  "option_#{name.to_s}".gsub('-', '_')
end
capitalization() click to toggle source
# File lib/hammer_cli/utils.rb, line 81
def self.capitalization
  supported = %w[downcase capitalize upcase]
  capitalization = HammerCLI::Settings.get(:ui, :capitalization).to_s
  return nil if capitalization.empty?
  return capitalization if supported.include?(capitalization)
  warn _("Cannot use such capitalization. Try one of %s.") % supported.join(', ')
  nil
end
clear_cache() click to toggle source
# File lib/hammer_cli/utils.rb, line 63
def self.clear_cache
  cache_file = File.expand_path(HammerCLI::Settings.get(:completion_cache_file))
  File.delete(cache_file) if File.exist?(cache_file)
end
constant_path(name) click to toggle source
# File lib/hammer_cli/utils.rb, line 73
def self.constant_path(name)
  path = name.to_s.split('::').inject([Object]) do |mod, class_name|
    mod << mod[-1].const_get(class_name)
  end
  path.shift
  path
end
context() click to toggle source
# File lib/hammer_cli/context.rb, line 4
def self.context
  @context ||= {
    :defaults => HammerCLI.defaults,
    :is_tty? => HammerCLI.tty?,
    :api_connection => HammerCLI::Connection.new(Logging.logger['Connection']),
    :no_headers => HammerCLI::Settings.get(:ui, :no_headers),
    :use_defaults => HammerCLI::Settings.get(:use_defaults),
    :capitalization => HammerCLI.capitalization,
    :verbosity => (HammerCLI::Settings.get(:verbosity) || HammerCLI::V_VERBOSE).to_i
  }
end
defaults() click to toggle source
# File lib/hammer_cli/defaults.rb, line 101
def self.defaults
  @defaults ||= Defaults.new(HammerCLI::Settings.get(:defaults))
end
insert_relative(array, mode, idx, *new_items) click to toggle source
# File lib/hammer_cli/utils.rb, line 105
def self.insert_relative(array, mode, idx, *new_items)
  case mode
  when :prepend
    idx = 0
  when :append
    idx = -1
  when :after
    idx += 1
  when :replace
    array.delete_at(idx)
  end

  array.insert(idx, *new_items)
end
interactive?() click to toggle source
# File lib/hammer_cli/utils.rb, line 68
def self.interactive?
  return HammerCLI::Settings.get(:_params, :interactive) unless HammerCLI::Settings.get(:_params, :interactive).nil?
  HammerCLI::Settings.get(:ui, :interactive) != false
end
interactive_output() click to toggle source
# File lib/hammer_cli/utils.rb, line 90
def self.interactive_output
  @interactive_output ||= HighLine.new($stdin, IO.new(IO.sysopen('/dev/tty', 'w'), 'w'))
end
open_in_editor(content, content_type: '', tempdir: '/tmp', suffix: '.tmp') click to toggle source
# File lib/hammer_cli/utils.rb, line 94
def self.open_in_editor(content, content_type: '', tempdir: '/tmp', suffix: '.tmp')
  result = content
  Tempfile.open([content_type, suffix], tempdir) do |f|
    f.write(content)
    f.rewind
    system("#{ENV['EDITOR'] || 'vi'} #{f.path}")
    result = f.read
  end
  result
end
option_accessor_name(*name) click to toggle source
# File lib/hammer_cli/options/option_definition.rb, line 7
def self.option_accessor_name(*name)
  if name.length > 1
    name.map { |n| _option_accessor_name(n) }
  else
    _option_accessor_name(name.first)
  end
end
tty?() click to toggle source
# File lib/hammer_cli/utils.rb, line 59
def self.tty?
  STDOUT.tty?
end
version() click to toggle source
# File lib/hammer_cli/version.rb, line 2
def self.version
  @version ||= Gem::Version.new "2.0.0"
end