Sha256: a6d132187479bf18de19a5ed5609d37a95a84f6361206339a7182559eebbbef0

Contents?: true

Size: 1007 Bytes

Versions: 4

Compression:

Stored size: 1007 Bytes

Contents

# frozen_string_literal: true

module TwilioBase
  module Fake
    class Conference
      Conference = Struct.new(:attributes) do
        def sid
          @sid ||= FactoryBot.generate(:conference_sid)
        end

        def status
          attributes[:status]
        end

        def update(attributes)
          self.attributes = attributes
        end
      end

      cattr_accessor :conferences, :sid
      self.conferences = []

      def initialize(sid = nil)
        self.sid = sid
      end

      def create(args = {})
        conference = Conference.new(args)
        conferences << conference
        conference
      end

      def participants(sid = nil)
        TwilioBase::Fake::VoiceCall.new(sid)
      end

      def list(attributes = {})
        conferences.select do |conference|
          conference.attributes.slice(*attributes.keys) == attributes
        end
      end

      def fetch
        conferences.detect { |conference| conference.sid == sid }
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
twilio_base-1.11.1101 spec/support/twilio_base/fake/conference.rb
twilio_base-1.11.11 spec/support/twilio_base/fake/conference.rb
twilio_base-1.9.0 spec/support/twilio_base/fake/conference.rb
twilio_base-1.8.0 spec/support/twilio_base/fake/conference.rb