class Richcss::VersionKit::RequirementList
Attributes
requirements[R]
@return [Array<Requirement>]
Public Class Methods
new(requirements = [])
click to toggle source
@param [Array<Requirement>] @see requirements
.
# File lib/richcss/vendor/version_kit/lib/version_kit/requirement_list.rb, line 13 def initialize(requirements = []) @requirements = Array(requirements).map do |requirement| normalize_requirement(requirement) end end
Public Instance Methods
==(other)
click to toggle source
# File lib/richcss/vendor/version_kit/lib/version_kit/requirement_list.rb, line 54 def ==(other) requirements == other.requirements end
add_requirement(requirement)
click to toggle source
@return [void]
# File lib/richcss/vendor/version_kit/lib/version_kit/requirement_list.rb, line 21 def add_requirement(requirement) requirement = normalize_requirement(requirement) requirements << requirement requirements.uniq! end
hash()
click to toggle source
@return [Fixnum] The hash of the instance.
# File lib/richcss/vendor/version_kit/lib/version_kit/requirement_list.rb, line 50 def hash to_s.hash end
satisfied_by?(candidate_version)
click to toggle source
@return [Bool]
# File lib/richcss/vendor/version_kit/lib/version_kit/requirement_list.rb, line 29 def satisfied_by?(candidate_version) requirements.all? do |requirement| requirement.satisfied_by?(candidate_version) end end
to_s()
click to toggle source
@return [String] the string representation of this class. The string is
equivalent, but not strictly equal, to the one used on initialization.
# File lib/richcss/vendor/version_kit/lib/version_kit/requirement_list.rb, line 44 def to_s requirements.map(&:to_s).join(', ') end
Private Instance Methods
normalize_requirement(requirement)
click to toggle source
@!group Private Helpers
# File lib/richcss/vendor/version_kit/lib/version_kit/requirement_list.rb, line 63 def normalize_requirement(requirement) case requirement when Requirement requirement when String, Version Requirement.new(requirement) else raise ArgumentError, 'Unable to normalize requirement ' \ "`#{requirement.inspect}`" end end