Class: AuctionFunCore::Contracts::AuctionContext::Processor::StartContract

Inherits:
AuctionFunCore::Contracts::ApplicationContract show all
Includes:
Business::Configuration
Defined in:
lib/auction_fun_core/contracts/auction_context/processor/start_contract.rb

Overview

This class is designed to validate the initiation of auctions. It ensures the auction exists and is of a valid kind, and also manages specific rules for auctions that require a stopwatch, such as penny auctions.

Examples:

Starting an auction

contract = AuctionFunCore::Contracts::AuctionContext::Processor::StartContract.new
attributes = { auction_id: 123, kind: "penny", stopwatch: 30 }
result = contract.call(attributes)
if result.success?
  puts "Auction started successfully."
else
  puts "Failed to start auction: #{result.errors.to_h}"
end

Constant Summary

Constants included from Business::Configuration

Business::Configuration::AUCTION_KINDS, Business::Configuration::AUCTION_MAX_TITLE_LENGTH, Business::Configuration::AUCTION_MIN_TITLE_LENGTH, Business::Configuration::AUCTION_STATUSES, Business::Configuration::AUCTION_STOPWATCH_MAX_VALUE, Business::Configuration::AUCTION_STOPWATCH_MIN_VALUE, Business::Configuration::MAX_NAME_LENGTH, Business::Configuration::MAX_PASSWORD_LENGTH, Business::Configuration::MIN_NAME_LENGTH, Business::Configuration::MIN_PASSWORD_LENGTH

Constants inherited from AuctionFunCore::Contracts::ApplicationContract

AuctionFunCore::Contracts::ApplicationContract::EMAIL_REGEX, AuctionFunCore::Contracts::ApplicationContract::I18N_MACRO_SCOPE