1
0
Fork 0
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.
lesson-decentralized_microb.../app/models/address.rb

28 lines
692 B
Ruby

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
AddAddressToWalletJob.perform_later self unless added_to_wallet?
end
def update_op_return
UpdateAddressOpReturnJob.perform_later self if update_op_return?
end
end