1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
require 'options' module Dependable RESERVED_TAGS = [:build, :optional, :recommended] def build? tags.include? :build end def optional? tags.include? :optional end def recommended? tags.include? :recommended end def required? !build? && !optional? && !recommended? end def options Options.coerce(tags - RESERVED_TAGS) end end