Sha256: 43774fa8b67d4c506ffe3c8c7d31a3204fde00d03940a3ab6251d54c53d3b511
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
module Berkshelf class CookbookSource # @author Jamie Winsor <jamie@vialstudios.com> module Location attr_reader :name attr_reader :version_constraint # @param [#to_s] name def initialize(name, version_constraint) @name = name @version_constraint = version_constraint @downloaded_status = false end # @param [#to_s] destination # # @return [Berkshelf::CachedCookbook] def download(destination) raise NotImplementedError, "Function must be implemented on includer" end # @return [Boolean] def downloaded? @downloaded_status end # Ensures that the given CachedCookbook satisfies the constraint # # @param [CachedCookbook] cached_cookbook # # @raise [ConstraintNotSatisfied] if the CachedCookbook does not satisfy the version constraint of # this instance of Location. # # @return [Boolean] def validate_cached(cached_cookbook) unless version_constraint.include?(cached_cookbook.version) raise ConstraintNotSatisfied, "A cookbook satisfying '#{name}' (#{version_constraint}) not found at #{self}" end true end private def set_downloaded_status(state) @downloaded_status = state end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
berkshelf-0.3.7 | lib/berkshelf/cookbook_source/location.rb |