Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean up KeenClient interface #203

Open
baumatron opened this issue Apr 20, 2017 · 4 comments
Open

Clean up KeenClient interface #203

baumatron opened this issue Apr 20, 2017 · 4 comments
Milestone

Comments

@baumatron
Copy link
Contributor

baumatron commented Apr 20, 2017

There are a few items on KeenClient that shouldn't be exposed in KeenClient.h:

  • -runQuery, which is marked as for testing only, so should be in a test category
  • -runMultiAnalysisWithQueries, also should be in a test category
  • +clearAllQueries
  • +getDBStore
  • +clearAllEvents

They should be removed for the next major release.

@baumatron baumatron added this to the 4.0.0 milestone Apr 20, 2017
@baumatron
Copy link
Contributor Author

runAsyncQuery:block: should be renamed runAsyncQuery:completion: or something better. Same goes for runAsyncMultiAnalysisWithQueries:block:.

baumatron added a commit that referenced this issue May 4, 2017
…patibility. (#207)

* Make interface additions for #203 while maintaining minor release compatibility.

* completionHandler: naming is used in the framework, so standardize on that.
@baumatron
Copy link
Contributor Author

Should evaluate how shared client initialization is done and look for ways to improve it. Configuration and fetching of the shared client object should be separate things. Perhaps the client should provide a configuration object to be used for the shared client, or maybe implement a delegate object that provides a shared client configuration.

@baumatron
Copy link
Contributor Author

This documentation is wrong in KeenClient.h, sharedClient:

@return A managed instance of KeenClient, or nil if you haven't called [KeenClient
 sharedClientWithProjectID:andWriteKey:andReadKey:].

If ID's and keys haven't been provided, it'll return a client that doesn't have any of those values set.

@baumatron
Copy link
Contributor Author

As mentioned in #226, would be nice to have overloads of KeenClient int that don't require nil passed in for optional parameters. Obj-C doesn't make this very fun, though maybe there's a way to mark the parameters as optional for Swift only?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant