This repository has been archived on 2023-05-11. You can view files and clone it, but cannot push or open issues or pull requests.
2021-03-10 11:26:28 +00:00
|
|
|
class Address < ApplicationRecord
|
|
|
|
scope :added_to_wallet, -> { where added_to_wallet: true }
|
|
|
|
|
|
|
|
scope :to_update_op_return, lambda {
|
|
|
|
added_to_wallet.where(
|
|
|
|
Address.arel_table[:op_return_updated_at].eq(nil)
|
|
|
|
.or(Address.arel_table[:op_return_updated_at].lt(1.hour.ago)),
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
validates :value, presence: true, uniqueness: true
|
|
|
|
|
|
|
|
def update_op_return?
|
|
|
|
added_to_wallet? && (
|
|
|
|
op_return_updated_at == nil ||
|
|
|
|
op_return_updated_at < 1.hour.ago
|
|
|
|
)
|
|
|
|
end
|
|
|
|
|
|
|
|
def add_to_wallet
|
2021-03-10 11:38:14 +00:00
|
|
|
AddAddressToWalletJob.perform_later self unless added_to_wallet?
|
2021-03-10 11:26:28 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def update_op_return
|
2021-03-10 11:38:14 +00:00
|
|
|
UpdateAddressOpReturnJob.perform_later self if update_op_return?
|
2021-03-10 11:26:28 +00:00
|
|
|
end
|
|
|
|
end
|