Sha256: 925be469e7c265878ddaa24af839196d21d58cec2120e8fcd3d5e1ce18e9c262

Contents?: true

Size: 1.86 KB

Versions: 4

Compression:

Stored size: 1.86 KB

Contents

# frozen_string_literal: true

module NgrokAPI
  module Models
    class EventStream
      attr_reader :client,
        :result,
        :id,
        :uri,
        :created_at,
        :metadata,
        :description,
        :fields,
        :event_type,
        :destination_ids,
        :sampling_rate

      def initialize(client:, result:)
        @client = client
        @result = result
        @id = @result['id']
        @uri = @result['uri']
        @created_at = @result['created_at']
        @metadata = @result['metadata']
        @description = @result['description']
        @fields = @result['fields']
        @event_type = @result['event_type']
        @destination_ids = @result['destination_ids']
        @sampling_rate = @result['sampling_rate']
      end

      def ==(other)
        @result == other.result
      end

      def to_s
        @result.to_s
      end

      ##
      # Delete an Event Stream. Associated Event Destinations will be preserved.
      #
      # https://ngrok.com/docs/api#api-event-streams-delete
      def delete
        @client.delete(
          id: @id
        )
      end

      ##
      # Update attributes of an Event Stream by ID.
      #
      # https://ngrok.com/docs/api#api-event-streams-update
      def update(
        metadata: nil,
        description: nil,
        fields: nil,
        destination_ids: nil,
        sampling_rate: nil
      )
        @metadata = metadata if metadata
        @description = description if description
        @fields = fields if fields
        @destination_ids = destination_ids if destination_ids
        @sampling_rate = sampling_rate if sampling_rate
        @client.update(
          id: @id,
          metadata: metadata,
          description: description,
          fields: fields,
          destination_ids: destination_ids,
          sampling_rate: sampling_rate
        )
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ngrok-api-0.16.0 lib/ngrokapi/models/event_stream.rb
ngrok-api-0.15.0 lib/ngrokapi/models/event_stream.rb
ngrok-api-0.14.0 lib/ngrokapi/models/event_stream.rb
ngrok-api-0.12.0 lib/ngrokapi/models/event_stream.rb