Method: Ocran::GemSpecQueryable.gem_inclusion_set

Defined in:
lib/ocran/gem_spec_queryable.rb

.gem_inclusion_set(spec_name, gem_options) ⇒ Object



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/ocran/gem_spec_queryable.rb', line 101

def gem_inclusion_set(spec_name, gem_options)
  include = [:loaded, :files]
  gem_options.each do |negate, option, list|
    next unless list.nil? || list.include?(spec_name)

    case option
    when :minimal
      include = [:loaded]
    when :guess
      include = [:loaded, :files]
    when :all
      include = [:scripts, :files]
    when :full
      include = [:scripts, :files, :extras]
    when :spec
      include = [:spec]
    when :scripts, :files, :extras
      if negate
        include.delete(option)
      else
        include.push(option)
      end
    else
      raise "Invalid Gem content detection option: #{option}"
    end
  end
  include.uniq!
  include
end