Sha256: d8667485f49857ebbe46d72469fef2a327f300b52407487deba33233c24f218b
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
#!/usr/bin/env ruby require 'bundler' Bundler.require require 'wasserstand' require 'optparse' OptionParser.new do |opts| opts.banner = <<HERE Wasserstand provides water level information as provided by PegelOnline. Usage: #{File.basename($0)} [options] [WATERWAY | LEVEL] Author: Nicolas E. Rabenau nerab@gmx.at Homepage: http://github.com/nerab/wasserstand Options: HERE opts.on("-w", "--verbose", "Run verbosely") do |v| Wasserstand.logger.level = Log4r::INFO Wasserstand.logger.info("Enable info logger") end opts.on("-t", "--trace", "Run with traces enabled") do |v| Wasserstand.logger.level = Log4r::ALL Wasserstand.logger.debug("Enable debug logger") end opts.on("-u", "--url URL", "Use URL to fetch levels") do |url| Wasserstand.logger.info("Using URL #{url}") Wasserstand.provider = Wasserstand::Provider::PegelOnline.new(url) end end.parse! query = ARGV.shift if query.nil? Wasserstand::Waterway.all.each{|ww| puts "#{ww.name} (#{ww.levels.size} levels)"} else begin waterway = Wasserstand::Waterway[query] if waterway puts "#{waterway.name} has #{waterway.levels.size} levels:" waterway.levels.sort_by{|name, level| level.km}.each{|name, level| puts "#{name} (km #{level.km}): #{level.measurements.last}"} else level = Wasserstand::Level[query] if level.nil? STDERR.puts "#{File.basename($0)}: No waterway nor level found that matches '#{query}." else puts "Level #{level.name} (#{level.waterway}, km #{level.km}):" level.measurements.each{|measurement| puts measurement} end end rescue STDERR.puts $! $!.backtrace.each{|msg| Wasserstand.logger.debug(msg)} end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
wasserstand-0.0.10 | bin/wasserstand |