Class: GemChangelogDiff::CLI
- Inherits:
-
Thor
- Object
- Thor
- GemChangelogDiff::CLI
- Defined in:
- lib/gem_changelog_diff/cli.rb
Overview
Thor-based command-line interface.
Class Method Summary collapse
Instance Method Summary collapse
- #cache(subcommand = nil) ⇒ Object
- #check(*gem_names) ⇒ Object
- #init ⇒ Object
- #show(gem_name, from_version, to_version) ⇒ Object
- #version ⇒ Object
Class Method Details
.exit_on_failure? ⇒ Boolean
9 10 11 |
# File 'lib/gem_changelog_diff/cli.rb', line 9 def self.exit_on_failure? true end |
Instance Method Details
#cache(subcommand = nil) ⇒ Object
61 62 63 64 65 66 67 68 69 |
# File 'lib/gem_changelog_diff/cli.rb', line 61 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
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/gem_changelog_diff/cli.rb', line 35 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 [:dry_run] exit exit_status(output_results(gems)) end |
#init ⇒ Object
72 73 74 75 76 77 78 79 80 81 |
# File 'lib/gem_changelog_diff/cli.rb', line 72 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
51 52 53 54 55 56 57 58 |
# File 'lib/gem_changelog_diff/cli.rb', line 51 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 |
#version ⇒ Object
84 85 86 |
# File 'lib/gem_changelog_diff/cli.rb', line 84 def version say "gem_changelog_diff #{VERSION}" end |