Sha256: 6dea1a54fe53d865dcf9cb6b4bbe6a402336dae4ccefea910e32a8ffc31d919f
Contents?: true
Size: 721 Bytes
Versions: 4
Compression:
Stored size: 721 Bytes
Contents
class ListProjects < Struct.new :format, :criteria def call formatter = formatter, projects = projects formatter.present projects end def projects catalog = ProjectCatalog.load, criteria = criteria catalog.projects criteria end def formatter(format = format.present? ? eval(format) : default_format) ConsoleFormatter.new format end def default_format projects = projects {'Name' => 'name'}.merge list_properties_format properties end private def list_properties_format properties Hash[properties.map { |p| [p, "property('#{p}').try(:value)"] }] end def properties metrics.collect(&:name).flatten end def metrics projects.collect(&:metrics).flatten end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
techcor-0.0.4 | lib/commands/list_projects.rb |
techcor-0.0.3 | lib/commands/list_projects.rb |
techcor-0.0.2 | lib/commands/list_projects.rb |
techcor-0.0.1 | lib/commands/list_projects.rb |