class Qntf::CLI
Public Instance Methods
add_field(name)
click to toggle source
# File lib/qntf/cli.rb, line 37 def add_field(name) field = ask('Field name:').chomp dataset = Qntf::Json::Dataset.new(name) dataset.fields.push(field) end
data(name)
click to toggle source
# File lib/qntf/cli.rb, line 21 def data(name) dataset = Qntf::Json::Dataset.new(name) dataset.data.each do |d| puts d end end
fields(name)
click to toggle source
# File lib/qntf/cli.rb, line 44 def fields(name) dataset = Qntf::Json::Dataset.new(name) puts dataset.fields.join(', ') end
list()
click to toggle source
# File lib/qntf/cli.rb, line 12 def list datasets = Qntf::Json::Dataset.all datasets.each do |d| puts d.name end end
new()
click to toggle source
# File lib/qntf/cli.rb, line 29 def new name = ask('Name:').chomp fields = ask('Fields(seperated by comma):').split(',').map(&:strip) puts "Creating dataset #{name}" Qntf::Json::Dataset.new(name, fields) end
store(name)
click to toggle source
# File lib/qntf/cli.rb, line 50 def store(name) dataset = Qntf::Json::Dataset.new(name) hash = {} for field in dataset.fields value = ask("#{field}:").chomp hash[field] = parseNum(value) unless value.empty? end date = ask_time dataset.add_datapoint(hash, date) end
Private Instance Methods
ask_time()
click to toggle source
# File lib/qntf/cli.rb, line 68 def ask_time loop do string = ask("time:").chomp if string.empty? return nil end time = Chronic.parse(string) if ask("#{time.to_s}, continue? [y/n]").chomp == 'y' return time.utc.iso8601(6) end end end
parseNum(v)
click to toggle source
# File lib/qntf/cli.rb, line 64 def parseNum(v) v.match('\.').nil? ? Integer(v) : Float(v) rescue v.to_s end