forked from jasder/forgeplus
26 lines
571 B
Ruby
26 lines
571 B
Ruby
|
class ProjectPackages::EndBiddingService < ApplicationService
|
||
|
attr_reader :package
|
||
|
|
||
|
def initialize(package)
|
||
|
@package = package
|
||
|
end
|
||
|
|
||
|
def call
|
||
|
return unless package_deadline?
|
||
|
|
||
|
package.end_bidding!
|
||
|
|
||
|
send_bidding_end_notify!
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def send_bidding_end_notify!
|
||
|
Tiding.create!(user_id: package.creator_id, trigger_user_id: 0,
|
||
|
container_id: package.id, container_type: 'ProjectPackage', tiding_type: 'BiddingEnd')
|
||
|
end
|
||
|
|
||
|
def package_deadline?
|
||
|
package.may_end_bidding? && package.deadline_at < Time.now
|
||
|
end
|
||
|
end
|