class ThreeScaleToolbox::AttributeFilters::ServiceIDFilterFromServiceRef

Attributes

remote[R]
service_id_key[R]
service_ref[R]

Public Class Methods

new(remote, service_ref, service_id_key) click to toggle source
# File lib/3scale_toolbox/attribute_filters/service_id_from_ref_filter.rb, line 8
def initialize(remote, service_ref, service_id_key)
  @remote = remote
  @service_ref = service_ref
  @service_id_key = service_id_key
end

Public Instance Methods

filter(enumerable) click to toggle source
# File lib/3scale_toolbox/attribute_filters/service_id_from_ref_filter.rb, line 14
def filter(enumerable)
  svc_id = find_service
  enumerable.select { |e| e.key?(service_id_key) && e[service_id_key].to_s == svc_id.to_s }
end

Private Instance Methods

find_service() click to toggle source
# File lib/3scale_toolbox/attribute_filters/service_id_from_ref_filter.rb, line 21
def find_service
  svc_id = -1
  Entities::Service.find(remote: remote, ref: service_ref).tap do |svc|
    svc_id = svc.id if !svc.nil?
  end
  svc_id
end