Sha256: 3070f25e58cb327db4a02cf811f794ca29ad83c29c097611ddfad4d83de48cfc

Contents?: true

Size: 1.13 KB

Versions: 8

Compression:

Stored size: 1.13 KB

Contents

class Ey::Core::Client
  class Real
    def get_auto_scaling_policies(params = {})
      query = Ey::Core.paging_parameters(params)
      url   = params.delete("url")

      request(
        :params => params,
        :path   => "/auto_scaling_policies",
        :query  => params,
        :url    => url,
      )
    end
  end

  class Mock
    def get_auto_scaling_policies(params = {})
      extract_url_params!(params)

      resources = data[:auto_scaling_policies].select { |_key, policy| filter_policy(params, policy) }
      params.delete("types")

      headers, auto_scaling_policies_page = search_and_page(
        params,
        :auto_scaling_policies,
        search_keys: %w{ id auto_scaling_group },
        resources: resources
      )

      response(
        :body    => { "auto_scaling_policies" => auto_scaling_policies_page },
        :status  => 200,
        :headers => headers
      )
    end

    private

    def filter_policy(params, item)
      return false if params["auto_scaling_group"] != item["auto_scaling_group"]

      types = params["types"]
      types.is_a?(::Array) && types.include?(item["type"])
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
ey-core-3.6.0.autoscaling1 lib/ey-core/requests/get_auto_scaling_policies.rb
ey-core-3.6.4 lib/ey-core/requests/get_auto_scaling_policies.rb
ey-core-3.6.3 lib/ey-core/requests/get_auto_scaling_policies.rb
ey-core-3.6.1 lib/ey-core/requests/get_auto_scaling_policies.rb
groove-ey-core-3.6.3 lib/ey-core/requests/get_auto_scaling_policies.rb
groove-ey-core-3.6.2 lib/ey-core/requests/get_auto_scaling_policies.rb
groove-ey-core-3.6.1 lib/ey-core/requests/get_auto_scaling_policies.rb
ey-core-3.5.0 lib/ey-core/requests/get_auto_scaling_policies.rb