class Gemsmith::CLI::Actions::View

Handles the view action for viewing an installed gem in default browser.

Attributes

picker[R]
viewer[R]

Public Class Methods

new(picker: Spek::Picker, viewer: Tools::Viewer.new, **) click to toggle source
Calls superclass method
# File lib/gemsmith/cli/actions/view.rb, line 19
def initialize(picker: Spek::Picker, viewer: Tools::Viewer.new, **)
  super(**)
  @picker = picker
  @viewer = viewer
end

Public Instance Methods

call(gem_name) click to toggle source
# File lib/gemsmith/cli/actions/view.rb, line 25
def call gem_name
  case picker.call(gem_name).bind { |spec| viewer.call spec }
    in Success(spec) then logger.info { "Viewing: #{spec.named_version}." }
    in Failure(message) then log_error { message }
    else log_error { "Unable to handle view action." }
  end
end

Private Instance Methods

log_error(&) click to toggle source
# File lib/gemsmith/cli/actions/view.rb, line 37
  def log_error(&) = logger.error(&)
end