eendroroy/rspikes

View on GitHub
exe/spike

Summary

Maintainability
Test Coverage
#!ruby

require 'optparse'
require 'rspikes'

data = []
rows = nil

def read_from_stdin
  data_ = []
  $stdin.read.strip.split(/\s+/).each do |d|
    data_ << Float(d)
  end
  data_
end

if ARGV.empty?
  data = read_from_stdin
else
  OptionParser.new do |opts|
    opts.on('-l l') do |v|
      rows = v.to_i
    end
  end.parse!
  if ARGV.empty?
    data = read_from_stdin
  else
    ARGV.each do |arg|
      data << Float(arg)
    end
  end
end

puts Rspikes.spike(data, (rows.nil? ? 1 : rows))