#!/usr/bin/env ruby

$LOAD_PATH.unshift File.join(__FILE__, '..', '..', 'lib')

require 'cli'
require 'json'

json_path, *args = ARGV

abort('Please provide a filepath') if json_path.nil? || json_path.empty?
abort('File provided is not JSON') unless json_path.end_with?('.json')

json = IO.read(json_path)

filters, attribute =
  %w[where: pluck:].map { |v| i = args.index(v); args[i+1] if i }

query_result = ActiveJson::CLI.select(json, where: filters, pluck: attribute)
pretty_result = JSON.pretty_generate(query_result)

STDOUT.write(pretty_result)
