Fix expiration unit bug
This commit is contained in:
parent
16965de945
commit
a1284940eb
3 changed files with 8 additions and 4 deletions
|
@ -10,10 +10,12 @@ class UpdateStatusExpirationService < BaseService
|
|||
expiration = status.text.scan(SCAN_EXPIRATION_RE).first
|
||||
return if !expiration
|
||||
|
||||
expiration_num = expiration[0].to_f
|
||||
expiration_option = expiration[1]
|
||||
expiration_num = expiration[1].to_f
|
||||
expiration_option = expiration[2]
|
||||
base_time = status.created_at || Time.now.utc
|
||||
|
||||
raise Mastodon::ValidationError, 'Too many expiration value' if expiration_num >= 10000
|
||||
|
||||
expired_at = base_time + (expiration_option == 'd' ? expiration_num.days : expiration_option == 'h' ? expiration_num.hours : expiration_option == 's' ? expiration_num.seconds : expiration_num.minutes)
|
||||
ScheduledExpirationStatus.create!(account: status.account, status: status, scheduled_at: expired_at)
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue