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 76 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
constant_path(name)
click to toggle source
# File lib/hammer_cli/utils.rb, line 68 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 100 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 63 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 85 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 89 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 "0.19.0" end