Extensis Portfolio
A simple wrapper for the Extensis Portfolio API, which uses both SOAP and HTTP.
Installation
Add this line to your application's Gemfile:
gem 'extensis_portfolio'And then run:
$ bundle
Or install it yourself as:
$ gem install extensis_portfolio
Usage
Create a connection to the Extensis Portfolio API:
connection = ExtensisPortfolio::Connection.new(server, username, password)Where server is the url including port, without any suffixes e.g. http://demo.extensis.com:8090
Get a list of available SOAP operations:
connection.get_soap_operationsDownloading an asset
Download an asset:
ExtensisPortfolio::AssetDownloader.new(connection, asset_id, catalog_id).download_fileQuerying
You can query for assets on a connection with the get_assets method. The query is built in two steps.
First you create an ExtensisPortfolio::AssetQueryTerm:
# AssetQueryTerm takes three parameters: "field_name", "operator" and "values"
# this query is for an asset where the "asset_id" field is equal to 1234
query_term = ExtensisPortfolio::AssetQueryTerm.new("asset_id", "equalValue", 1234)The asset_query_term is then used to build a new instance of ExtensisPortfolio::AssetQuery:
query = ExtensisPortfolio::AssetQuery.new(query_term)Which is finally used in the get_assets call:
# get_assets takes three parameters: catalog_id, query and an optional options hash
connection.get_assets(catalog_id, query)Testing
The gem comes with a MiniTest / Guard test suite, simply run:
$ bundle install
Followed by:
$ bundle exec guard
Development
After checking out the repo, run bin/setup to install dependencies. Then, 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 to create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
Notes
API fails:
-
getJobIDsshould begetJobIds, this is the only place whereidis with capital D... Means thatSavoncall has to beget_job_i_ds
Contributing
- Fork it ( https://github.com/tomasc/extensis_portfolio/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request