require 'rest-client' require 'retries' require_relative 'app' require_relative '../repos/tree' require_relative '../pruner' require_relative '../exceptions' module Pruning module API # Handles all tree related API requests class Tree < App get '/tree/:name' do tree_repo = Pruning::Repos::Tree.new(RestClient, ENV['TREE_SOURCE_API_HOSTNAME']) complete_tree = tree_repo.get(query.name) pruner = Pruning::Processing::Pruner.new(complete_tree) pruner.prune_tree(query.indicator_ids.to_a) end end end end