Files
x-stake/app/services/create_user_balances.rb
2021-08-15 19:46:54 -03:00

37 lines
615 B
Ruby

# frozen_string_literal: true
class CreateUserBalances
attr_reader :user
def initialize(user)
@user = user
end
def call
return nil if Rails.env.test?
ActiveRecord::Base.transaction do
create_fiat_balance
create_balances
end
end
private
def create_fiat_balance
FiatBalance.find_or_create_by!(
user_id: user.id
)
end
def create_balances
Currency.in_batches.each do |relation|
relation.each do |currency|
Balance.find_or_create_by(
user_id: user.id,
currency_id: currency.id,
)
end
end
end
end