Sha256: 091fe88636ba91b8f29eb648ce7be9629e4abe5d88d52053ceec8888f6289908
Contents?: true
Size: 759 Bytes
Versions: 1
Compression:
Stored size: 759 Bytes
Contents
require "virtus" module Undo class Config include Virtus.model attribute :mutator_methods, Array[Symbol], default: [:update, :delete, :destroy] attribute :uuid_generator, Proc, default: ->(config, _) { require "securerandom" ->(object) { SecureRandom.uuid } } attribute :storage, Object, default: ->(config, _) { require "undo/storage/memory_adapter" Undo::Storage::MemoryAdapter.new } attribute :serializer, Object, default: ->(config, _) { require "undo/serializer/simple" Undo::Serializer::Simple.new } def with(attribute_updates = {}, &block) return self if attribute_updates.empty? self.class.new attribute_set.get(self).merge(attribute_updates) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
undo-0.0.1 | lib/undo/config.rb |