Sha256: d3eb5fb7f97f990a9623cdf4a2c356cff40ed62e6519984e6f20be51732ea145

Contents?: true

Size: 1.43 KB

Versions: 5

Compression:

Stored size: 1.43 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 leave speak stop play dial_participant update record_pause record_resume].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

5 entries across 5 versions & 1 rubygems

Version Path
telnyx-3.0.5 lib/telnyx/conference.rb
telnyx-3.0.4 lib/telnyx/conference.rb
telnyx-3.0.3 lib/telnyx/conference.rb
telnyx-3.0.2 lib/telnyx/conference.rb
telnyx-3.0.0 lib/telnyx/conference.rb