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



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

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



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

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

  gems = Interactive.new(gems: gems).select if options[:interactive]
  return say("No gems selected.") if gems.empty?
  return dry_run_output(gems) if options[:dry_run]

  output_results(gems)
end

#initObject



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

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



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

def show(gem_name, from_version, to_version)
  load_config
  configure_token
  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]))
end

#versionObject



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

def version
  say "gem_changelog_diff #{VERSION}"
end