Sha256: 2b127e980a1a02517e51895853eb71a70bbd5ee87342087c2a32cb3dbbf9b1fc
Contents?: true
Size: 1.77 KB
Versions: 4
Compression:
Stored size: 1.77 KB
Contents
# frozen_string_literal: true module TwilioBase module Fake module TaskRouter class Workspace Workspace = Struct.new(:attributes) do def sid @sid ||= GlobalConfig.first&.workspace_sid || FactoryBot.generate(:workspace_sid) end def event_callback_url attributes[:event_callback_url] end def friendly_name attributes[:friendly_name] end def task_queues Fake::TaskRouter::TaskQueue.new end def activities Fake::TaskRouter::Activity.new end def workflows Fake::TaskRouter::Workflow.new end def update(attributes) self.attributes = attributes end end cattr_accessor :sid, :workspaces self.workspaces = [] def initialize(sid = nil) self.sid = sid end def create(params) workspace = Workspace.new(params) self.class.workspaces << workspace workspace end def update(attributes) workspaces.detect do |workspace| workspace.sid == sid end&.update(attributes) end def list workspaces end def activities Fake::TaskRouter::Activity.new end def statistics(sid = nil) Fake::TaskRouter::Statistic.new(sid, workspaces.first.attributes) end def tasks(sid = nil) Fake::TaskRouter::Task.new(sid) end def workers(sid = nil) Fake::TaskRouter::Worker.new(sid) end def workflows(sid = nil) Fake::TaskRouter::Workflow.new(sid) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems