class Gemsmith::CLI::Actions::Publish
Handles the publish action.
Attributes
loader[R]
publisher[R]
Public Class Methods
new(publisher: Tools::Publisher.new, loader: Spek::Loader, **)
click to toggle source
Calls superclass method
# File lib/gemsmith/cli/actions/publish.rb, line 24 def initialize(publisher: Tools::Publisher.new, loader: Spek::Loader, **) super(**) @publisher = publisher @loader = loader end
Public Instance Methods
call(name = default)
click to toggle source
# File lib/gemsmith/cli/actions/publish.rb, line 30 def call name = default case publisher.call loader.call("#{name}.gemspec") in Success(spec) then logger.info { "Published: #{spec.package_name}." } in Failure(message) then log_error message else log_error "Publish failed, unable to parse result." end end
Private Instance Methods
log_error(message)
click to toggle source
# File lib/gemsmith/cli/actions/publish.rb, line 42 def log_error(message) = logger.error { message } end