TVNweather.com | Tornado Chasers

Open Source library for parsing NOAA/NWS alerts in Ruby


#1

I just wanted to share a project I wrote a while back to handle NOAA/NWS alerts. The library is a Ruby gem that exposes a client for downloading and parsing alerts into a nice object model. It has a few small features outside of just parsing but it is still a fairly early release. I wrote it because I wasn’t satisfied with the design of some of the existing projects out there and I wanted contribute a very well tested, quality library to the community. It has 100% code coverage via unit tests and while it’s very reliable it does depend on a NWS web service which of course can go down at times. You can view the source on Github or add gem 'gull' to your Gemfile to use it. The Github page has some usage examples on it to help you get started.


#2

Looks wonderful on paper! I’ll have to give it a try. When you find time appropriate, could you provide a couple screenshots while you are using it?


#3

It’s not software application with a GUI, instead it’s a software library meant to be used in within other Ruby applications. The code examples on the Github page basically are the equivalent of what screenshots would be to a GUI app.


#4

Thanks for the clarification. For some reason I thought you included a GUI.


#5

nice. but um. what program do i find the gem command in? (i use kubuntu 14.10) lol i can’t build without the right program


#6

This is a software library for Ruby, so it assumes you are at least somewhat familiar with the Ruby programming language and ecosystem in order to use it. You’ll need both Ruby and Ruby Gems installed on your machine. From there how you integrate it into your project depends on whether or not you’re using Bundler (dependency management) or not, which is described in the README.

My guess is that you were thinking this was a command line utility, correct? While one could definitely make a wrapper for this gem to turn it into one (quite easily actually), I would think there would be limited usefulness in it. Plus, I tend to prefer that utilities I use in a shell to have zero runtime dependencies. The Go language seems to be good fit for this use case these days, you get the benefits of a higher-level language with a compiled executable and no runtime or framework required to run it. With a Ruby command line util you have to make sure you have Ruby installed and sometimes the right version of Ruby, etc. That’s not a show stopper by any means but it is nice to just be able to install something and run it without installing anything else.