Sha256: a3816685ff69f993fa720a43ed4c1f01fa3878dd72f4d312650f9fefb7b99867
Contents?: true
Size: 1.63 KB
Versions: 2
Compression:
Stored size: 1.63 KB
Contents
# frozen_string_literal: true module TwilioBase module Fake module Sync module Services class Map cattr_accessor :maps self.maps = {} attr_accessor :data, :date_expires, :unique_name, :context def initialize(data: {}, date_expires: '', unique_name: '') self.context = MapContext.new self.data = data self.date_expires = date_expires self.unique_name = unique_name end def create(data: {}, ttl: 0, unique_name: '') map = Map.new( data: data, date_expires: Time.current + ttl, unique_name: unique_name ) self.class.maps << map map end def fetch matched_map = self.class.maps.detect do |map| map.unique_name == unique_name end raise ArgumentError if matched_map.blank? matched_map end def maps(unique_name = nil) Map.new(unique_name: unique_name || rand(999).to_s) end def sync_map_items context.sync_map_items end end class MapContext def sync_map_items(key = :unset) if key.nil? raise(ArgumentError, 'key cannot be nil') end if key == :unset item_klass.items else item_klass.find_or_create(key) end end private def item_klass Fake::Sync::Services::Maps::Item 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/map.rb |
twilio_base-1.11.11 | spec/support/twilio_base/fake/sync/services/map.rb |