Sha256: acf23c767078fa7e648a562764bcb64d123027c3d779bb04c5d419c08f195697

Contents?: true

Size: 934 Bytes

Versions: 8

Compression:

Stored size: 934 Bytes

Contents

module EspSdk
  module EndPoints
    class Signatures < Base
      def run(params = {})
        validate_run_params(params)
        submit(run_url, :post, params)
      end

      def names
        submit(name_url, :get)
      end

      private

      def run_url
        "#{base_url}/run"
      end

      def name_url
        "#{base_url}/signature_names"
      end

      def validate_run_params(options)
        valid_params = [:signature_name, :regions, :external_account_id]
        keys         = options.keys

        # Check that all the valid params are present
        valid_params.each do |param|
          fail EspSdk::MissingAttribute, "Missing required attribute #{param}" unless keys.include?(param)
        end

        # Check for invalid params
        keys.each do |key|
          fail EspSdk::UnknownAttribute, "Unknown attribute #{key}" unless valid_params.include?(key)
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
esp_sdk-1.1.0 lib/esp_sdk/end_points/signatures.rb
esp_sdk-1.0.6 lib/esp_sdk/end_points/signatures.rb
esp_sdk-1.0.5 lib/esp_sdk/end_points/signatures.rb
esp_sdk-1.0.4 lib/esp_sdk/end_points/signatures.rb
esp_sdk-1.0.3 lib/esp_sdk/end_points/signatures.rb
esp_sdk-1.0.2 lib/esp_sdk/end_points/signatures.rb
esp_sdk-1.0.1 lib/esp_sdk/end_points/signatures.rb
esp_sdk-1.0.0 lib/esp_sdk/end_points/signatures.rb