13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/3scale_toolbox/crds/pricing_rule_dump.rb', line 13
def metric_system_name
if (method = plan.service.methods.find { |m| m.id == metric_id })
{ 'systemName' => method.system_name }
elsif (metric = plan.service.metrics.find { |m| m.id == metric_id })
{ 'systemName' => metric.system_name }
elsif (backend = backend_from_metric_link)
if (backend_metric = backend.metrics.find { |m| m.id == metric_id })
{ 'systemName' => backend_metric.system_name, 'backend' => backend.system_name }
elsif (backend_method = backend.methods.find { |m| m.id == metric_id })
{ 'systemName' => backend_method.system_name, 'backend' => backend.system_name }
else
raise ThreeScaleToolbox::Error, "Unexpected error. PricingRule #{id} " \
"referencing to metric id #{metric_id} which has not been found"
end
else
raise ThreeScaleToolbox::Error, "Unexpected error. PricingRule #{id} " \
"referencing to metric id #{metric_id} which has not been found"
end
end
|