class Ducalis::CliArguments

Constants

ADAPTERS
DOCS_ARG
FORMATTER
HELP_FLAGS
REPORTER_ARG

Public Instance Methods

docs_command?() click to toggle source
# File lib/ducalis/cli_arguments.rb, line 15
def docs_command?
  ARGV.any? { |arg| arg == to_key(DOCS_ARG) }
end
help_command?() click to toggle source
# File lib/ducalis/cli_arguments.rb, line 19
def help_command?
  ARGV.any? { |arg| HELP_FLAGS.include?(arg) }
end
process!() click to toggle source
# File lib/ducalis/cli_arguments.rb, line 23
def process!
  detect_git_mode!
  detect_reporter!
end

Private Instance Methods

detect_git_mode!() click to toggle source
# File lib/ducalis/cli_arguments.rb, line 38
def detect_git_mode!
  git_mode = GitAccess::MODES.keys.find do |mode|
    ARGV.include?(to_key(mode))
  end
  return unless git_mode

  ARGV.delete(to_key(git_mode))
  GitAccess.instance.flag = git_mode
end
detect_reporter!() click to toggle source
# File lib/ducalis/cli_arguments.rb, line 30
def detect_reporter!
  reporter_index = ARGV.index(to_key(REPORTER_ARG)) || return
  reporter = ARGV[reporter_index + 1]
  [to_key(REPORTER_ARG), reporter].each { |arg| ARGV.delete(arg) }
  ARGV.push(*FORMATTER)
  GitAccess.instance.store_pull_request!(find_pull_request(reporter))
end
find_pull_request(value) click to toggle source
# File lib/ducalis/cli_arguments.rb, line 48
def find_pull_request(value)
  ADAPTERS.find { |adapter| adapter.suitable_for?(value) }.new(value).call
end
to_key(key) click to toggle source
# File lib/ducalis/cli_arguments.rb, line 52
def to_key(key)
  "--#{key}"
end