class Twilio::REST::Studio::V2::FlowContext
Public Class Methods
Initialize the FlowContext
@param [Version] version Version
that contains the resource @param [String] sid The SID of the Flow resource to fetch. @return [FlowContext] FlowContext
Twilio::REST::InstanceContext::new
# File lib/twilio-ruby/rest/studio/v2/flow.rb 169 def initialize(version, sid) 170 super(version) 171 172 # Path Solution 173 @solution = {sid: sid, } 174 @uri = "/Flows/#{@solution[:sid]}" 175 176 # Dependents 177 @revisions = nil 178 @test_users = nil 179 @executions = nil 180 end
Public Instance Methods
Delete the FlowInstance
@return [Boolean] true if delete succeeds, false otherwise
# File lib/twilio-ruby/rest/studio/v2/flow.rb 215 def delete 216 @version.delete('DELETE', @uri) 217 end
Access the executions @return [ExecutionList] @return [ExecutionContext] if sid was passed.
# File lib/twilio-ruby/rest/studio/v2/flow.rb 249 def executions(sid=:unset) 250 raise ArgumentError, 'sid cannot be nil' if sid.nil? 251 252 if sid != :unset 253 return ExecutionContext.new(@version, @solution[:sid], sid, ) 254 end 255 256 unless @executions 257 @executions = ExecutionList.new(@version, flow_sid: @solution[:sid], ) 258 end 259 260 @executions 261 end
Fetch the FlowInstance
@return [FlowInstance] Fetched FlowInstance
# File lib/twilio-ruby/rest/studio/v2/flow.rb 206 def fetch 207 payload = @version.fetch('GET', @uri) 208 209 FlowInstance.new(@version, payload, sid: @solution[:sid], ) 210 end
Provide a detailed, user friendly representation
# File lib/twilio-ruby/rest/studio/v2/flow.rb 272 def inspect 273 context = @solution.map {|k, v| "#{k}: #{v}"}.join(',') 274 "#<Twilio.Studio.V2.FlowContext #{context}>" 275 end
Access the revisions @return [FlowRevisionList] @return [FlowRevisionContext] if revision was passed.
# File lib/twilio-ruby/rest/studio/v2/flow.rb 223 def revisions(revision=:unset) 224 raise ArgumentError, 'revision cannot be nil' if revision.nil? 225 226 if revision != :unset 227 return FlowRevisionContext.new(@version, @solution[:sid], revision, ) 228 end 229 230 unless @revisions 231 @revisions = FlowRevisionList.new(@version, sid: @solution[:sid], ) 232 end 233 234 @revisions 235 end
Access the test_users
@return [FlowTestUserList] @return [FlowTestUserContext]
# File lib/twilio-ruby/rest/studio/v2/flow.rb 241 def test_users 242 FlowTestUserContext.new(@version, @solution[:sid], ) 243 end
Provide a user friendly representation
# File lib/twilio-ruby/rest/studio/v2/flow.rb 265 def to_s 266 context = @solution.map {|k, v| "#{k}: #{v}"}.join(',') 267 "#<Twilio.Studio.V2.FlowContext #{context}>" 268 end
Update the FlowInstance
@param [flow.Status] status The status of the Flow. Can be: `draft` or
`published`.
@param [String] friendly_name The string that you assigned to describe the Flow. @param [Hash] definition JSON representation of flow definition. @param [String] commit_message Description of change made in the revision. @return [FlowInstance] Updated FlowInstance
# File lib/twilio-ruby/rest/studio/v2/flow.rb 190 def update(status: nil, friendly_name: :unset, definition: :unset, commit_message: :unset) 191 data = Twilio::Values.of({ 192 'Status' => status, 193 'FriendlyName' => friendly_name, 194 'Definition' => Twilio.serialize_object(definition), 195 'CommitMessage' => commit_message, 196 }) 197 198 payload = @version.update('POST', @uri, data: data) 199 200 FlowInstance.new(@version, payload, sid: @solution[:sid], ) 201 end