Sha256: a91c43b1cf75ea48bb7c19042d5696ee4a39a7d64283e3f5dcbf03ee5d8009e0
Contents?: true
Size: 647 Bytes
Versions: 2
Compression:
Stored size: 647 Bytes
Contents
# frozen_string_literal: true require_relative 'store_result' module Repository module Support # Builds a successful or failed StoreResult depending on a record existing. class ResultBuilder def initialize(record) @record = record end def build(&_block) return successful_result if record failed_result yield(record) end private attr_reader :record def failed_result(errors) StoreResult::Failure.new errors end def successful_result StoreResult::Success.new record end end # class Repository::Support::ResultBuilder end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
repository-support-0.1.3 | lib/repository/support/result_builder.rb |
repository-support-0.1.1 | lib/repository/support/result_builder.rb |