Mixlib::Install
Usage
Get URL for specific platform and package version
= {
channel: :current,
product_name: 'chef',
product_version: :latest,
platform: 'mac_os_x',
platform_version: '10.9',
architecture: 'x86_64'
}
artifact = Mixlib::Install.new().artifact_info
# => #<Mixlib::Install::ArtifactInfo>
artifact.url
# => "https://packages.chef.io/files/current/chef/12.14.90/mac_os_x/10.9/chef-12.14.90-1.dmg"
Get list of artifacts for all platforms given a package version
= {
channel: :current,
product_name: 'chef'
}
# product_version: :latest is the default
artifacts = Mixlib::Install.new().artifact_info
# => [#<Mixlib::Install::ArtifactInfo>, ...]
artifacts.first.url
# => => "https://packages.chef.io/files/current/chef/12.14.90/mac_os_x/10.11/chef-12.14.90-1.dmg"
Detect platform information
= {
channel: :current,
product_name: 'chef',
product_version: :latest
}
artifact = Mixlib::Install.new().detect_platform
artifact.platform # => "mac_os_x"
artifact.platform_version # => "10.10"
Use an artifact released for an earlier version of the platform
= {
channel: :current,
product_name: 'chef',
product_version: :latest,
platform: 'ubuntu',
platform_version: '15.04',
architecture: 'x86_64',
platform_version_compatibility_mode: true
}
artifact = Mixlib::Install.new().artifact_info
artifact.platform # => "ubuntu"
artifact.platform_version # => "14.04"
List the available versions for a product and channel
Instance method
= {
channel: :stable,
product_name: 'chef',
}
Mixlib::Install.new().available_versions
# => ["12.13.3", "12.13.7"]
Static method
Mixlib::Install.available_versions("chef", "stable")
# => ["12.13.3", "12.13.7"]
Development
VCR is a tool that helps cache and replay http responses. When these responses change or when you add more tests you might need to update cached responses. Check out spec_helper.rb for instructions on how to do this.
Contributing
- Fork it ( https://github.com/[my-github-username]/mixlib-install/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