class GoodData::LCM2::CollectComputedAttributeMetrics

Constants

DESCRIPTION
PARAMS

Public Class Methods

call(params) click to toggle source
# File lib/gooddata/lcm/actions/collect_ca_metrics.rb, line 26
def call(params)
  results = []
  development_client = params.development_client

  synchronize = params.synchronize.pmap do |info|
    from = info.from
    from_project = development_client.projects(from) || fail("Invalid 'from' project specified - '#{from}'")

    metric_uris = from_project.computed_attributes.flat_map { |a| a.using('metric').map { |m| m['link'] } }

    info[:transfer_uris] ||= []
    info[:transfer_uris] += metric_uris

    results += metric_uris.map do |uri|
      {
        project: from,
        transfer_uri: uri
      }
    end

    info
  end

  {
    results: results,
    params: {
      synchronize: synchronize
    }
  }
end