lib/twilio-ruby/twiml/voice_response.rb in twilio-ruby-5.0.0.rc26 vs lib/twilio-ruby/twiml/voice_response.rb in twilio-ruby-5.0.0

- old
+ new

@@ -1,14 +1,13 @@ module Twilio module TwiML - # Voice TwiML Response class VoiceResponse < TwiML # Create a new <Response> - def initialize() + def initialize super() - self.name = 'Response' + @name = 'Response' yield(self) if block_given? end # Create a <Dial> element # @@ -27,52 +26,52 @@ # keyword_args:: additional attributes # # == Returns: # A <Response> element with a <Dial> child element def dial( - number: nil, - action: nil, - method: nil, - timeout: nil, - hangup_on_star: nil, - time_limit: nil, - caller_id: nil, - record: nil, - trim: nil, - recording_status_callback: nil, - recording_status_callback_method: nil, - **keyword_args) + number: nil, + action: nil, + method: nil, + timeout: nil, + hangup_on_star: nil, + time_limit: nil, + caller_id: nil, + record: nil, + trim: nil, + recording_status_callback: nil, + recording_status_callback_method: nil, + **keyword_args + ) dial = Dial.new( - number: number, - action: action, - method: method, - timeout: timeout, - hangup_on_star: hangup_on_star, - time_limit: time_limit, - caller_id: caller_id, - record: record, - trim: trim, - recording_status_callback: recording_status_callback, - recording_status_callback_method: recording_status_callback_method, - **keyword_args + number: number, + action: action, + method: method, + timeout: timeout, + hangup_on_star: hangup_on_star, + time_limit: time_limit, + caller_id: caller_id, + record: record, + trim: trim, + recording_status_callback: recording_status_callback, + recording_status_callback_method: recording_status_callback_method, + **keyword_args ) yield(dial) if block_given? - - self.append(dial) + append(dial) end # Create an <Echo> element # # == Parameters: # keyword_args:: attributes # # == Returns: # A <Response> element with an <Echo> child element def echo(**keyword_args) - self.append(Echo.new(**keyword_args)) + append(Echo.new(**keyword_args)) end # Create an <Enqueue> element # # == Parameters: @@ -91,11 +90,12 @@ action: nil, method: nil, wait_url: nil, wait_url_method: nil, workflow_sid: nil, - **keyword_args) + **keyword_args + ) enqueue = Enqueue.new( name, action: action, method: method, @@ -104,12 +104,11 @@ workflow_sid: workflow_sid, **keyword_args ) yield(enqueue) if block_given? - - self.append(enqueue) + append(enqueue) end # Create a <Gather> element # # == Parameters: @@ -138,11 +137,12 @@ partial_result_callback_method: nil, language: nil, hints: nil, barge_in: nil, acknowledge_sound_url: nil, - **keyword_args) + **keyword_args + ) gather = Gather.new( action: action, method: method, timeout: timeout, @@ -156,39 +156,38 @@ acknowledge_sound_url: acknowledge_sound_url, **keyword_args ) yield(gather) if block_given? - - self.append(gather) + append(gather) end # Create a <Hangup> element # # == Returns: # A <Response> element with a <Hangup> child element - def hangup() - self.append(Hangup.new) + def hangup + append(Hangup.new) end # Create a <Leave> element # # == Returns: # A <Response> element with a <Leave> child element - def leave() - self.append(Leave.new) + def leave + append(Leave.new) end # Create a <Pause> element # # == Parameters: # length:: time in seconds to pause # # == Returns: # A <Response> element with a <Pause> child element def pause(length: nil) - self.append(Pause.new(length: length)) + append(Pause.new(length: length)) end # Create a <Play> element # # == Parameters: @@ -198,15 +197,15 @@ # keyword_args:: additional attributes # # == Returns: # A <Response> element with a <Play> child element def play(url: nil, loop: nil, digits: nil, **keyword_args) - self.append(Play.new( - url: url, - loop: loop, - digits: digits, - **keyword_args + append(Play.new( + url: url, + loop: loop, + digits: digits, + **keyword_args )) end # Create a <Record> element # @@ -236,24 +235,25 @@ trim: nil, recording_status_callback: nil, recording_status_callback_method: nil, transcribe: nil, transcribe_callback: nil, - **keyword_args) - self.append(Record.new( - action: action, - method: method, - timeout: timeout, - finish_on_key: finish_on_key, - max_length: max_length, - play_beep: play_beep, - trim: trim, - recording_status_callback: recording_status_callback, - recording_status_callback_method: recording_status_callback_method, - transcribe: transcribe, - transcribe_callback: transcribe_callback, - **keyword_args + **keyword_args + ) + append(Record.new( + action: action, + method: method, + timeout: timeout, + finish_on_key: finish_on_key, + max_length: max_length, + play_beep: play_beep, + trim: trim, + recording_status_callback: recording_status_callback, + recording_status_callback_method: recording_status_callback_method, + transcribe: transcribe, + transcribe_callback: transcribe_callback, + **keyword_args )) end # Create a <Redirect> element # @@ -263,11 +263,11 @@ # keyword_args:: additional attributes # # == Returns: # A <Response> element with a <Redirect> child element def redirect(url, method: nil, **keyword_args) - self.append(Redirect.new(url, method: method, **keyword_args)) + append(Redirect.new(url, method: method, **keyword_args)) end # Create a <Reject> element # # == Parameters: @@ -275,11 +275,11 @@ # keyword_args:: additional attributes # # == Returns: # A <Response> element with a <Reject> child element def reject(reason: nil, **keyword_args) - self.append(Reject.new(reason: reason, **keyword_args)) + append(Reject.new(reason: reason, **keyword_args)) end # Create a <Say> element # # == Parameters: @@ -290,16 +290,16 @@ # keyword_args:: additional attributes # # == Returns: # A <Response> element with a <Say> child element def say(body, loop: nil, language: nil, voice: nil, **keyword_args) - self.append(Say.new( - body, - loop: loop, - language: language, - voice: voice, - **keyword_args + append(Say.new( + body, + loop: loop, + language: language, + voice: voice, + **keyword_args )) end # Create a <Sms> element # @@ -312,26 +312,19 @@ # status_callback:: status callback URL # keyword_args:: additional attributes # # == Returns: # A <Response> element with a <Sms> child element - def sms( - body, - to: nil, - from: nil, - method: nil, - action: nil, - status_callback: nil, - **keyword_args) - self.append(Sms.new( - body, - to: to, - from: from, - method: method, - action: action, - status_callback: status_callback, - **keyword_args + def sms(body, to: nil, from: nil, method: nil, action: nil, status_callback: nil, **keyword_args) + append(Sms.new( + body, + to: to, + from: from, + method: method, + action: action, + status_callback: status_callback, + **keyword_args )) end end # <Dial> element @@ -344,13 +337,11 @@ # # == Returns: # A <Dial> element def initialize(number: nil, **keyword_args) super(**keyword_args) - if !(number.nil?) - @value = number - end + @value = number unless number.nil? yield(self) if block_given? end # Create a <Client> element # @@ -370,19 +361,20 @@ method: nil, url: nil, status_callback_event: nil, status_callback_method: nil, status_callback: nil, - **keyword_args) - self.append(Client.new( - name, - method: method, - url: url, - status_callback_event: status_callback_event, - status_callback_method: status_callback_method, - status_callback: status_callback, - **keyword_args + **keyword_args + ) + append(Client.new( + name, + method: method, + url: url, + status_callback_event: status_callback_event, + status_callback_method: status_callback_method, + status_callback: status_callback, + **keyword_args )) end # Create a <Conference> element # @@ -422,29 +414,30 @@ status_callback: nil, status_callback_event: nil, status_callback_method: nil, recording_status_callback: nil, recording_status_callback_method: nil, - **keyword_args) - self.append(Conference.new( - name, - muted: muted, - start_conference_on_enter: start_conference_on_enter, - end_conference_on_exit: end_conference_on_exit, - max_participants: max_participants, - beep: beep, - record: record, - trim: trim, - wait_url: wait_url, - wait_method: wait_method, - event_callback_url: event_callback_url, - status_callback: status_callback, - status_callback_event: status_callback_event, - status_callback_method: status_callback_method, - recording_status_callback: recording_status_callback, - recording_status_callback_method: recording_status_callback_method, - **keyword_args + **keyword_args + ) + append(Conference.new( + name, + muted: muted, + start_conference_on_enter: start_conference_on_enter, + end_conference_on_exit: end_conference_on_exit, + max_participants: max_participants, + beep: beep, + record: record, + trim: trim, + wait_url: wait_url, + wait_method: wait_method, + event_callback_url: event_callback_url, + status_callback: status_callback, + status_callback_event: status_callback_event, + status_callback_method: status_callback_method, + recording_status_callback: recording_status_callback, + recording_status_callback_method: recording_status_callback_method, + **keyword_args )) end # Create a <Number> element # @@ -466,20 +459,21 @@ url: nil, method: nil, status_callback: nil, status_callback_event: nil, status_callback_method: nil, - **keyword_args) - self.append(Number.new( - number, - send_digits: send_digits, - url: url, - method: method, - status_callback: status_callback, - status_callback_event: status_callback_event, - status_callback_method: status_callback_method, - **keyword_args + **keyword_args + ) + append(Number.new( + number, + send_digits: send_digits, + url: url, + method: method, + status_callback: status_callback, + status_callback_event: status_callback_event, + status_callback_method: status_callback_method, + **keyword_args )) end # Create a <Queue> element # @@ -497,18 +491,19 @@ queue_name, url: nil, method: nil, reservation_sid: nil, post_work_activity_sid: nil, - **keyword_args) - self.append(Queue.new( - queue_name, - url: url, - method: method, - reservation_sid: reservation_sid, - post_work_activity_sid: post_work_activity_sid, - **keyword_args + **keyword_args + ) + append(Queue.new( + queue_name, + url: url, + method: method, + reservation_sid: reservation_sid, + post_work_activity_sid: post_work_activity_sid, + **keyword_args )) end # Create a <Sim> element # @@ -517,11 +512,11 @@ # keyword_args:: additional attributes # # == Returns: # A <Dial> element with a <Sim> child element def sim(sid, **keyword_args) - self.append(Sim.new(sid, **keyword_args)) + append(Sim.new(sid, **keyword_args)) end # Create a <Sip> element # # == Parameters: @@ -544,21 +539,22 @@ url: nil, method: nil, status_callback: nil, status_callback_event: nil, status_callback_method: nil, - **keyword_args) - self.append(Sip.new( - uri, - username: username, - password: password, - url: url, - method: method, - status_callback: status_callback, - status_callback_event: status_callback_event, - status_callback_method: status_callback_method, - **keyword_args + **keyword_args + ) + append(Sip.new( + uri, + username: username, + password: password, + url: url, + method: method, + status_callback: status_callback, + status_callback_event: status_callback_event, + status_callback_method: status_callback_method, + **keyword_args )) end end # <Client> element @@ -638,10 +634,11 @@ def initialize(sid, **keyword_args) super(**keyword_args) @value = sid end end + # <Sip> element class Sip < TwiML # Create a <Sip> element # # == Parameters: @@ -693,11 +690,11 @@ # keyword_args:: additional attributes # # == Returns: # An <Enqueue> element with a <Task> child element def task(attributes, **keyword_args) - self.append(Task.new(attributes, **keyword_args)) + append(Task.new(attributes, **keyword_args)) end end # <Task> element class Task < TwiML @@ -709,15 +706,11 @@ # # == Returns: # A <Task> element def initialize(attributes, **keyword_args) super(**keyword_args) - if attributes.is_a?(String) - @value = attributes - else - @value = JSON.generate(attributes) - end + @value = attributes.is_a?(String) ? attributes : JSON.generate(attributes) end end # <Gather> element class Gather < TwiML @@ -743,22 +736,17 @@ # voice:: voice to use # keyword_args:: additional attributes # # == Returns: # A <Gather> element with a <Say> child element - def say( - body, - loop: nil, - language: nil, - voice: nil, - **keyword_args) - self.append(Say.new( - body, - loop: loop, - language: language, - voice: voice, - **keyword_args + def say(body, loop: nil, language: nil, voice: nil, **keyword_args) + append(Say.new( + body, + loop: loop, + language: language, + voice: voice, + **keyword_args )) end # Create a <Play> element # @@ -769,15 +757,15 @@ # keyword_args:: additional attributes # # == Returns: # A <Gather> element with a <Play> child element def play(url: nil, loop: nil, digits: nil, **keyword_args) - self.append(Play.new( - url: url, - loop: loop, - digits: digits, - **keyword_args + append(Play.new( + url: url, + loop: loop, + digits: digits, + **keyword_args )) end # Create a <Pause> element # @@ -785,10 +773,10 @@ # length:: time to pause # # == Returns: # A <Gather> element with a <Pause> child element def pause(length: nil) - self.append(Pause.new(length: length)) + append(Pause.new(length: length)) end end # <Pause> element class Pause < TwiML