Class: InvocaGems::Cli
- Inherits:
-
Thor
- Object
- Thor
- InvocaGems::Cli
- Defined in:
- lib/invoca_gems/cli.rb
Instance Method Summary collapse
- #edit(gem_name) ⇒ Object
- #graph ⇒ Object
- #has_unsaved_changes(gem_name) ⇒ Object
- #list ⇒ Object
- #save(gem_name) ⇒ Object
- #show_changes ⇒ Object
- #update(gem_name, version, sha) ⇒ Object
Instance Method Details
#edit(gem_name) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/invoca_gems/cli.rb', line 17 def edit(gem_name) InvocaGems::Presenter.with_presenter do |presenter| presenter.set_task "Configuring #{gem_name}" gem = InvocaGems::Gem.new(gem_name, presenter) gem.edit presenter.set_subtask("done") presenter.("#{gem_name} is now available at #{gem.repo_directory}") end end |
#graph ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/invoca_gems/cli.rb', line 8 def graph InvocaGems::Presenter.with_presenter do |presenter| presenter. "Generating Dependency Graph" bw = InvocaGems::Bundler.new `open #{bw.dependencies_yuml_url}` end end |
#has_unsaved_changes(gem_name) ⇒ Object
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/invoca_gems/cli.rb', line 47 def has_unsaved_changes(gem_name) InvocaGems::Presenter.with_presenter do |presenter| gem = InvocaGems::Gem.new(gem_name, presenter) if gem.git_repo.unsaved_changes? presenter. "found unsaved changes" else presenter. "no unsaved changes" end end end |
#list ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/invoca_gems/cli.rb', line 80 def list InvocaGems::Presenter.with_presenter do |presenter| presenter.silence do format = " %-30s %10s %-60s" bw = InvocaGems::Bundler.new puts puts format % ["Name", "Version", "Status"] puts format % ["="*30, "="*10, "="*60] bw.invoca_source_names.each do |gem_name| gem = InvocaGems::Gem.new(gem_name, presenter) status = if gem.path presenter.using_mode( :green, "open for editing at #{gem.path}" ) else "#{gem.sha[0..6]} for #{gem.uri}" end puts format % [gem.name, gem.version, status] end puts end end end |
#save(gem_name) ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/invoca_gems/cli.rb', line 29 def save(gem_name) InvocaGems::Presenter.with_presenter do |presenter| presenter.set_task "Saving changes to #{gem_name}" gem = InvocaGems::Gem.new(gem_name, presenter) gem.save([:commit_message]) presenter. "Done" end end |
#show_changes ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/invoca_gems/cli.rb', line 59 def show_changes InvocaGems::Presenter.with_presenter do |presenter| bw = InvocaGems::Bundler.new bw.invoca_source_names.each do |gem_name| presenter.set_task("#{gem_name}") gem = InvocaGems::Gem.new(gem_name, presenter) if gem.repo_exists? && gem.git_repo.branch_exists?(gem.local_branch_name) # TODO - check for differences with master url = gem.uri.gsub("[email protected]:", "https://github.com/").gsub(".git","") + "/compare/#{gem.local_branch_name}" `open #{url}` presenter.set_subtask(url) else presenter.clear_task(keep: false) end end presenter.("done") end end |
#update(gem_name, version, sha) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/invoca_gems/cli.rb', line 39 def update(gem_name, version, sha) InvocaGems::Presenter.with_presenter do |presenter| gem = InvocaGems::Gem.new(gem_name, presenter) gem.update_version(version, sha) end end |