EY Add-on Services API
This gem provides basic ability to interact with Engine Yard as an Add-on service partner (e.g. http://www.engineyard.com/partners/platform-services).
All operations happen on the connection. First it must be setup. For example:
EY::ServicesAPI.setup(:auth_id => "...", :auth_key => "...")
Then you can do things like register a new Add-on service. For example:
EY::ServicesAPI.connection.register_service(
"http://services.engineyard.com/api/1/partners/1/services", {
:name => "My Service",
:description => "my service does things",
:service_accounts_url => "http://my-service.example.com/api/1/customers/fancy",
:home_url => "http://my-service.example.com/",
:vars => ["MY_SERVICE_API_KEY"] })
Using this gem in your project
This codebase really contains 2 gems:
- ey_services_api is the Gem for communicating with services.engineyard.com. Include this in your Gemfile.
- ey_services_fake is a Gem for helping you to write tests with a working "Fake" in place of talking directly to services.engineyard.com. Include this in your Gemfile inside the "test" group.
For examples of using the gem in a sinatra app, and in tests see: https://github.com/engineyard/chronatog
To run the tests
To run specs mocked:
- rvm use 1.8.7
- bundle
- bundle exec rake
To run against tresfiestas codebase: (internal only)
- rvm use 1.9.2
- BUNDLE_GEMFILE=EYIntegratedGemfile bundle
- BUNDLE_GEMFILE=EYIntegratedGemfile bundle exec rake
Releasing
$ rvm use 1.8.7
$ gem install gem-release
$ gem bump
$ gem release
$ git push
This should bump the versions of both ey_services_api and ey_services_fake. Push both to rubygems, and then push your version bump commits to github.
Using 1.8.7 to release is the simplest way to avoid syck/psych yaml incompatibilities gemspec bugs.