Class: GemChangelogDiff::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/gem_changelog_diff/cli.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.exit_on_failure?Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/gem_changelog_diff/cli.rb', line 7

def self.exit_on_failure?
  true
end

Instance Method Details

#cache(subcommand = nil) ⇒ Object



55
56
57
58
59
60
61
62
63
# File 'lib/gem_changelog_diff/cli.rb', line 55

def cache(subcommand = nil)
  case subcommand
  when "clear"
    Cache.new.clear
    say "Cache cleared."
  else
    say "Usage: gem_changelog_diff cache clear"
  end
end

#check(*gem_names) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/gem_changelog_diff/cli.rb', line 32

def check(*gem_names)
  setup_environment
  gems = filter_gems(detect_gems, gem_names)
  return say("All gems are up to date!") if gems.empty?

  gems = apply_interactive(gems)
  return say("No gems selected.") if gems.empty?
  return dry_run_output(gems) if options[:dry_run]

  exit exit_status(output_results(gems))
end

#initObject



66
67
68
69
70
71
72
73
74
75
# File 'lib/gem_changelog_diff/cli.rb', line 66

def init
  path = ConfigLoader::PROJECT_CONFIG_NAME
  if File.exist?(path)
    say "#{path} already exists."
    return
  end

  File.write(path, config_template)
  say "Created #{path}"
end

#show(gem_name, from_version, to_version) ⇒ Object



45
46
47
48
49
50
51
52
# File 'lib/gem_changelog_diff/cli.rb', line 45

def show(gem_name, from_version, to_version)
  setup_environment
  gem = OutdatedGem.new(name: gem_name, current_version: from_version, newest_version: to_version)
  report = build_single_report(gem)
  formatter = Formatters.build(format: resolved_format, color: color_enabled?)
  write_output(formatter.format([report]))
  exit report[:error] ? ExitCode::ERROR : ExitCode::SUCCESS
end

#versionObject



78
79
80
# File 'lib/gem_changelog_diff/cli.rb', line 78

def version
  say "gem_changelog_diff #{VERSION}"
end