![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Current project status: abandoned
This is a Ruby wrapper for the Harvest API.
gem install harvested
harvest = Harvest.client(subdomain: 'yoursubdomain', username: 'yourusername', password: 'yourpassword')
harvest.projects.all # list out projects
client = Harvest::Client.new(:name => "Billable Company LTD.")
client = harvest.clients.create(client)
harvest.clients.find(client.id) # returns a Harvest::Client
You can also pass query options in as the last parameter on any object's all
finder
method, for example to find all the projects for client ID 12345:
harvest = Harvest.client(subdomain: 'yoursubdomain', username: 'yourusername', password: 'yourpassword')
harvest.projects.all(nil, :client => 12345)
Note: the first parameter is a User ID field that is optional, but needs to be specified as nil if not included.
You can pass in any hash of query attributes you wish as per the Harvest API page.
You can find more examples in /examples
and in the documentation for Harvest::Base
For most operations you need to be an Admin on the Harvest account. You can do a few select things as a normal user or a project manager, but you will likely get errors.
The team at Harvest built a great API, but there are always dangers in writing code that depends on an API. For example: HTTP Timeouts, Occasional Bad Gateways, and Rate Limiting issues need to be accounted for.
Using Harvested#client
your code needs to handle all these situations. However you can also use Harvested#hardy_client
which will retry errors and wait for Rate Limit resets.
harvest = Harvest.hardy_client(subdomain: 'yoursubdomain', username: 'yourusername', password: 'yourpassword')
harvest.projects.all # This will wait for the Rate Limit reset if you have gone over your limit
Harvested's tests currently support Ruby version 2.0+
My name is Zach Moazeni. I work for an awesome company. And we're hiring!
If you find what looks like a bug:
If you want to contribute an enhancement or a fix:
Note on running tests: most specs run against a live Harvest account. To run the suite, sign up for a free trial account and fill out /spec/support/harvest_credentials.yml
(a sample harvest_credentials.example.yml has been included).
DO NOT USE YOUR NORMAL CREDENTIALS IN /spec/support/harvest_credentials.yml
!!! The test suite blasts all the data before running (similiar to DatabaseCleaner).
The tests use VCR to cache the API responses. This is a great boon for running the tests offline. While uncommon, sometimes the Harvest API will send an erroneous response, VCR will cache it, and subsequent runs will use the incorrect cached response. In order to clear the cached responses, you can run the specs with the VCR_REFRESH
environmental variable set to true (e.g. VCR_REFRESH=true bundle exec rake spec
).
Estimates aren't currently supported due to the lack of an API. If this opens up, harvested will include them.
FAQs
Unknown package
We found that harvested demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.