Sha256: 5af2c6a3e22101035ac5245e83f19df131b49765fc5351e8b1c8d1b0943de995
Contents?: true
Size: 725 Bytes
Versions: 4
Compression:
Stored size: 725 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 :last_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.8 | lib/commands/list_projects.rb |
techcor-0.0.7 | lib/commands/list_projects.rb |
techcor-0.0.6 | lib/commands/list_projects.rb |
techcor-0.0.5 | lib/commands/list_projects.rb |