2019-05-24 21:36:48 -03:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class SoftwareSpec
|
2019-05-26 00:17:40 -03:00
|
|
|
undef uses_from_macos
|
|
|
|
|
2019-05-24 21:36:48 -03:00
|
|
|
def uses_from_macos(deps, **args)
|
2019-05-25 22:06:39 -03:00
|
|
|
if deps.is_a?(Hash)
|
|
|
|
args = deps
|
|
|
|
deps = Hash[*args.shift]
|
|
|
|
end
|
|
|
|
|
2019-05-24 21:36:48 -03:00
|
|
|
depends_on(deps) if add_mac_dependency?(args)
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
|
|
def add_mac_dependency?(args)
|
|
|
|
args.each { |key, version| args[key] = OS::Mac::Version.from_symbol(version) }
|
|
|
|
|
|
|
|
return false if args[:after] && OS::Mac.version < args[:after]
|
|
|
|
|
|
|
|
return false if args[:before] && OS::Mac.version >= args[:before]
|
|
|
|
|
2019-05-25 22:06:39 -03:00
|
|
|
args.present?
|
2019-05-24 21:36:48 -03:00
|
|
|
end
|
|
|
|
end
|