this should be part of Proxy::Chefproxy::Facts I think, so we don't mess global space, also I suggest not using class methods. How about this model

```ruby
module Proxy::Chefproxy
  class ForemanRequest
    def foreman_request(path, body)
      #heavylifting here
    end
  end

  class Reports
    def post_report(report)
      ForemanRequest.new('/api/reports', report)
    end
  end

  class Facts
    def post_facts(facts)
      ForemanRequest.new('/api/hosts/facts', facts)
    end
  end
end
```

and then in chefproxy.api something like
```ruby
post "/facts/" do
  Proxy::Chefproxy::Facts.new.post_facts(request.env["rack.input"].read)
end
```