extreme_overclocking_client
Ruby client for Extreme Overclocking's Folding@home Data Export
Need more data on projects and GPUs? Try out folding_at_home_client
Getting Started
Install and add to Gemfile:
bundle add extreme_overclocking_client
Install without bundler:
gem install extreme_overclocking_client
Usage
Please read the full usage statement from Extreme Overclocking before using. This client has some simplistic rate limiting built-in, but ultimately it's up to consumers of the gem to prevent excessive queries and abuse. Neglecting to do so may result in your IP being blocked.
Data can be retrieved via the Service
class or individual classes with a configuration parameter.
Service
service = ExtremeOverclockingClient::Service.new(
project_url: 'https://github.com/blakegearin/extreme_overclocking_client',
project_name: 'ExtremeOverclockingClientTesting',
project_version: '0.0.1',
)
user_id = 32334
name = 'EOC_Jason'
team_id = 11314
user = service.user(id: user_id)
user = service.user(name: name, team_id: team_id)
users = service.users(ids: [32334, 811139])
hashes = [
{ name: name, team_id: team_id},
{ name: name, team_id: team_id},
]
users = service.users(hashes: hashes)
team = service.team(id: team_id)
teams = service.teams(ids: [11314, 223518])
Config
Provide a project_url
and project_name
to let Extreme Overclocking know what your project is. These values populate referer and user-agent metadata sent with each request.
config = ExtremeOverclockingClient::Config.new(
project_url: 'https://github.com/blakegearin/extreme_overclocking_client',
project_name: 'ExtremeOverclockingClientTesting',
project_version: '0.0.1',
)
User
user_id = 32334
name = 'EOC_Jason'
team_id = 11314
config = ExtremeOverclockingClient::Config.new(
project_url: 'https://github.com/blakegearin/extreme_overclocking_client',
project_name: 'ExtremeOverclockingClientTesting',
project_version: '0.0.1',
)
user = ExtremeOverclockingClient::User.new(config: config, id: user_id)
user = ExtremeOverclockingClient::User.new(config: config, name: name, team_id: team_id)
user.refresh
Team
id = 11314
config = ExtremeOverclockingClient::Config.new(
project_url: 'https://github.com/blakegearin/extreme_overclocking_client',
project_name: 'ExtremeOverclockingClientTesting',
project_version: '0.0.1',
)
team = ExtremeOverclockingClient::Team.new(config: config, id: id)
team.refresh
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and the created tag, and push the .gem
file to rubygems.org.
Contributing
Bug reports, feature requests, and pull requests are welcome.
Links