2013-01-26 20:05:39 -06:00
|
|
|
require 'options'
|
|
|
|
|
|
|
|
module Dependable
|
2013-11-04 12:00:06 -06:00
|
|
|
RESERVED_TAGS = [:build, :optional, :recommended, :run]
|
2013-01-26 20:05:39 -06:00
|
|
|
|
|
|
|
def build?
|
|
|
|
tags.include? :build
|
|
|
|
end
|
|
|
|
|
|
|
|
def optional?
|
|
|
|
tags.include? :optional
|
|
|
|
end
|
|
|
|
|
|
|
|
def recommended?
|
|
|
|
tags.include? :recommended
|
|
|
|
end
|
|
|
|
|
2013-11-04 12:00:06 -06:00
|
|
|
def run?
|
|
|
|
tags.include? :run
|
|
|
|
end
|
|
|
|
|
2013-05-10 23:45:06 -05:00
|
|
|
def required?
|
|
|
|
!build? && !optional? && !recommended?
|
|
|
|
end
|
|
|
|
|
2013-01-26 20:05:39 -06:00
|
|
|
def options
|
2014-08-13 11:09:57 -05:00
|
|
|
Options.create(tags - RESERVED_TAGS)
|
2013-01-26 20:05:39 -06:00
|
|
|
end
|
|
|
|
end
|