Class: SimplyWompi::Transactions::Application::Services::TransactionCreator

Inherits:
Object
  • Object
show all
Defined in:
lib/simply_wompi/transactions/application/services/transaction_creator.rb

Overview

Transaction Creator

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(transactions_repository:) ⇒ TransactionCreator

Returns a new instance of TransactionCreator.



9
10
11
12
13
14
15
# File 'lib/simply_wompi/transactions/application/services/transaction_creator.rb', line 9

def initialize(transactions_repository:)
  unless transactions_repository.is_a?(Domain::Repositories::TransactionsRepository)
    raise ArgumentError("ArgumentError transactions_repository: #{transactions_repository.class}, is not instance of #{Domain::Repositories::TransactionsRepository}")
  end

  @transactions_repository = transactions_repository
end

Instance Attribute Details

#transactions_repositoryObject (readonly)

Returns the value of attribute transactions_repository.



7
8
9
# File 'lib/simply_wompi/transactions/application/services/transaction_creator.rb', line 7

def transactions_repository
  @transactions_repository
end

Instance Method Details

#call(create_transaction_dto:) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/simply_wompi/transactions/application/services/transaction_creator.rb', line 17

def call(create_transaction_dto:)
  unless create_transaction_dto.is_a?(Domain::Dtos::CreateTransactionDto)
    raise ArgumentError("ArgumentError create_transaction_dto: #{create_transaction_dto.class}, is not instance of #{Domain::Dtos::CreateTransactionDto}")
  end

  @transactions_repository.create(create_transaction_dto: create_transaction_dto)
end