Sha256: 808b95d26a6e3a32010c4d3b72e253da9b83519fd86d6f570cfb862de3dccceb
Contents?: true
Size: 533 Bytes
Versions: 1
Compression:
Stored size: 533 Bytes
Contents
# frozen_string_literal: true class BCDD::Result class Context::Success < Context include ::BCDD::Result::Success::Methods def and_expose(type, keys, terminal: true) unless keys.is_a?(::Array) && !keys.empty? && keys.all?(::Symbol) raise ::ArgumentError, 'keys must be an Array of Symbols' end Transitions.tracking.reset_and_then! exposed_value = acc.merge(value).slice(*keys) self.class.new(type: type, value: exposed_value, source: source, terminal: terminal) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bcdd-result-0.12.0 | lib/bcdd/result/context/success.rb |