piotrmurach / tty-spinner

A terminal spinner for tasks that have non-deterministic time frame.
https://ttytoolkit.org
MIT License
427 stars 28 forks source link

Publish new release #47

Open andrcuns opened 3 years ago

andrcuns commented 3 years ago

Hi,

I have been using spinner in one of my projects and it works great, however I could really use some of the latest master branch additions, mainly:

Have you considered pushing a new release any time soon?

piotrmurach commented 3 years ago

Hi Andrejs 👋

Thanks for using this gem in your project.

My plan was to look at the timer and multi-spinner issues. However, there is no reason why I cannot make this release earlier. I will see what I can do.

piotrmurach commented 3 years ago

@andrcuns This is still on my list and I plan to make a release this coming weekend.

jgarth commented 2 years ago

Hi @piotrmurach! Thanks for making this (and the other cool parts of tty). I'd also benefit from a new release, instead of relying on master in my Gemfiles. Can I help with the release somehow?

piotrmurach commented 2 years ago

@jgarth Yes, you can. The log method isn't fully robust for release. Here's the Spinner breaks on multiline message issue that needs resolving. My last comment summarises the problem and possible solutions. Once this is addressed, I think we will be in a good place to cut a new release.

fwolfst commented 1 year ago

Also if you'd release we could use the 🚨 lighthouse-spinner https://github.com/piotrmurach/tty-spinner/commit/ee6651a115f32731f253d359468afdb53917a40f ;) And thanks for all the tty!

NielsKSchjoedt commented 11 months ago

+1

MadBomber commented 8 months ago

If the methods are not available, the README documentation should at least reflect that they are either not available but planned or they should be. removed from the README completely.

I added this patch to my code for a log method:

module TTY
  class Spinner
    # Log a message to the output
    # This will clear the current spinner line, print the log message,
    # and then redraw or resume the spinner on a new line.
    #
    # @param [String] message
    #   the log message to print
    #
    # @api public
    def log(message)
      synchronize do
        clear_line    # Clear the spinner
        output.puts(message) # Log the message
        redraw_indent # Redraw the spinner frame
      end
    end
  end
end