Sha256: af7e80bdac0f573309caaf074d752961f82290be7f91844f079b8c704f9b1f21

Contents?: true

Size: 1.39 KB

Versions: 6

Compression:

Stored size: 1.39 KB

Contents

# frozen_string_literal: true

module Telnyx
  class Conference < APIResource
    extend APIOperations::List
    extend APIOperations::Create
    extend APIOperations::NestedResource

    ACTIONS = %w[join mute unmute hold unhold speak play dial_participant update].freeze

    ACTIONS.each do |action|
      nested_resource_class_methods action,
                                    path: ["actions", action],
                                    operations: [:create],
                                    instance_methods: { create: action }
    end

    nested_resource_class_methods "record_start",
                                  path: ["actions", "record_start"],
                                  operations: [:create],
                                  instance_methods: { create: "start_recording" }

    nested_resource_class_methods "record_stop",
                                  path: ["actions", "record_stop"],
                                  operations: [:create],
                                  instance_methods: { create: "stop_recording" }

    nested_resource_class_methods "participants",
                                  path: "participants",
                                  operations: [:list],
                                  instance_methods: { list: "participants" }

    OBJECT_NAME = "conference".freeze
  end
  Conferences = Conference # Name change without breaking existing code
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
telnyx-2.9.0 lib/telnyx/conference.rb
telnyx-2.8.0 lib/telnyx/conference.rb
telnyx-2.7.0 lib/telnyx/conference.rb
telnyx-2.6.0 lib/telnyx/conference.rb
telnyx-2.5.0 lib/telnyx/conference.rb
telnyx-2.4.0 lib/telnyx/conference.rb