Sha256: b62bb510556a8e2706274df5560f88a0eb9abf55424a78b063abafa8a9c9a50b

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

# frozen_string_literal: true

module TwilioBase
  module Fake
    module Sync
      module Services
        class List
          cattr_accessor :lists
          self.lists = []

          attr_accessor :data, :date_expires, :unique_name

          def initialize(data: {}, date_expires: '', unique_name: '')
            self.data = data
            self.date_expires = date_expires
            self.unique_name = unique_name
          end

          def create(data: {}, ttl: 0, unique_name: '')
            list = List.new(
              data: data,
              date_expires: Time.current + ttl,
              unique_name: unique_name
            )
            self.class.lists << list
            list
          end

          def fetch
            matched_list = self.class.lists.detect do |list|
              list.unique_name == unique_name
            end

            raise ArgumentError if matched_list.blank?

            matched_list
          end

          def lists(unique_name = nil)
            List.new(unique_name || rand(999).to_s)
          end

          def sync_list_items
            Fake::Sync::Services::Lists::Item.new
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
twilio_base-1.11.1101 spec/support/twilio_base/fake/sync/services/list.rb
twilio_base-1.11.11 spec/support/twilio_base/fake/sync/services/list.rb