class Repository::Base::Internals::RecordDeleter
Stows away details of reporting update success/failure. @since 0.0.5
Attributes
dao[R]
factory[R]
identifier[R]
Public Class Methods
new(identifier:, dao:, factory:)
click to toggle source
Initializes a new instance of `SlugFinder`. @param identifier [String] [Slug](en.wikipedia.org/wiki/Semantic_URL#Slug)
for record to be deleted.
@param dao Data Access Object implements persistence without business
logic.
@param factory Factory-pattern class to build an entity from an
existing DAO record.
# File lib/repository/base/internals/record_deleter.rb, line 23 def initialize(identifier:, dao:, factory:) @identifier = identifier @dao = dao @factory = factory end
Public Instance Methods
delete()
click to toggle source
Command-pattern method returning indication of success or failure of attempt to delete identified record. @return Repository::Support::StoreResult
# File lib/repository/base/internals/record_deleter.rb, line 32 def delete finder = SlugFinder.new slug: identifier, dao: dao, factory: factory result = finder.find return result unless result.success dao.delete identifier result end