class Luban::Deployment::Package::Dependency
Attributes
apply_to[R]
name[R]
options[R]
type[R]
version[R]
Public Class Methods
new(apply_to, type, name, version, **opts)
click to toggle source
# File lib/luban/deployment/cli/package/dependency.rb, line 13 def initialize(apply_to, type, name, version, **opts) @apply_to = apply_to @type = type @name = name @version = version @options = opts validate end
Public Instance Methods
applicable_to?(version)
click to toggle source
# File lib/luban/deployment/cli/package/dependency.rb, line 22 def applicable_to?(version) if @apply_to == :all true else Gem::Requirement.new(@apply_to).satisfied_by?(Gem::Version.new(version)) end end
Protected Instance Methods
validate()
click to toggle source
# File lib/luban/deployment/cli/package/dependency.rb, line 32 def validate if @apply_to.nil? raise ArgumentError, 'The version requirement that the dependency applies to is NOT provided.' end unless DependencyTypes.include?(@type) raise ArgumentError, "Invalid dependency type: #{type.inspect}" end if @name.nil? raise ArgumentError, 'Dependency name is NOT provided.' end if @version.nil? raise ArgumentError, 'Dependency version is NOT provided.' end end