Method: Reactive::GemDependency.report_gems_state

Defined in:
lib/reactive-core/gem_dependency.rb

.report_gems_state(with_dependencies = true) ⇒ Object



201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
# File 'lib/reactive-core/gem_dependency.rb', line 201

def self.report_gems_state(with_dependencies = true)
  Reactive.configuration.gems.inject('') do |report, gem|
    installed_dependency_count = 0
    dependencies_status = gem.dependencies.collect do |dependency|
      if dependency.installed?
        code = dependency.embedded? ? "E" : "I"
        installed_dependency_count += 1
      else
        code = " "
      end
      "  [#{code}] #{dependency.name} #{dependency.requirement.to_s}\n"
    end.uniq

    code = gem.installed? ? (gem.embedded? ? "E" : "I") : " "
    code.downcase! if installed_dependency_count != gem.dependencies.size
    report << "[#{code}] #{gem.name} #{gem.requirement.to_s}\n"
    report << dependencies_status.join('') if with_dependencies
    report
  end << "I = Installed, i = Installed but missing dependencies\nE = Embedded,  e = Embedded but missing dependencies"
end