class Minimart::InventoryRequirement::SupermarketRequirementsBuilder

This class is used to parse any Supermarket requirements specified in the inventory and build Minimart::Inventory::BaseRequirements from them.

Attributes

name[R]

@return [String] the name of the cookbook

versions[R]

@return [Array<String>] an array of versions to fetch for this cookbook

Public Class Methods

new(name, reqs) click to toggle source

@param [String] name The name of the cookbook @param [Hash] reqs

* 'versions' [Array<String>] A listing of versions to fetch.
* 'version' [String] A single version to fetch.
# File lib/minimart/inventory_requirement/supermarket_requirements_builder.rb, line 20
def initialize(name, reqs)
  @name     = name
  @versions = reqs['versions'] || reqs['version'] || []
  @versions = [@versions] if @versions.is_a? String
end

Public Instance Methods

build() click to toggle source

Build the Supemarket requirements. @return [Array<Minimart::InventoryRequirement::BaseRequirement>]

# File lib/minimart/inventory_requirement/supermarket_requirements_builder.rb, line 28
def build
  versions.map do |v|
    InventoryRequirement::BaseRequirement.new(name, version_requirement: v)
  end
end