Class: ItemBuilderMwh::Modes::Price::BukalapakService
- Inherits:
-
Base
- Object
- Base
- ItemBuilderMwh::Modes::Price::BukalapakService
show all
- Defined in:
- lib/item_builder_mwh/modes/price/bukalapak_service.rb
Instance Attribute Summary
Attributes inherited from Base
#listing
Instance Method Summary
collapse
Methods inherited from Base
#initialize, #sale_price_policy
Instance Method Details
#bukalapak_price ⇒ Object
18
19
20
21
22
23
24
25
|
# File 'lib/item_builder_mwh/modes/price/bukalapak_service.rb', line 18
def bukalapak_price
{
price: listing.price,
sale_price: listing.sale_price,
sale_start_at: listing.sale_start_at,
sale_end_at: listing.sale_end_at
}
end
|
#deal ⇒ Object
27
28
29
30
31
32
33
34
35
|
# File 'lib/item_builder_mwh/modes/price/bukalapak_service.rb', line 27
def deal
{
percentage: deal_percentage,
sale_start_at: sale_start_at,
sale_end_at: sale_end_at,
price: listing.price,
sale_price: listing.sale_price
}
end
|
#deal_percentage ⇒ Object
37
38
39
40
41
|
# File 'lib/item_builder_mwh/modes/price/bukalapak_service.rb', line 37
def deal_percentage
price = listing.price.to_f
sale_price = listing.sale_price.to_f
100 - (sale_price / price * 100)
end
|
10
11
12
13
14
15
16
|
# File 'lib/item_builder_mwh/modes/price/bukalapak_service.rb', line 10
def perform
if listing.sale_price.nil?
bukalapak_price
else
deal
end
end
|
#sale_end_at ⇒ Object
50
51
52
53
54
55
56
57
|
# File 'lib/item_builder_mwh/modes/price/bukalapak_service.rb', line 50
def sale_end_at
month_later = DateTime.now + 1.month
return month_later if listing.sale_end_at.nil?
return month_later if listing.sale_end_at > month_later
return month_later if listing.sale_end_at < DateTime.now
listing.sale_end_at
end
|
#sale_start_at ⇒ Object
43
44
45
46
47
48
|
# File 'lib/item_builder_mwh/modes/price/bukalapak_service.rb', line 43
def sale_start_at
return DateTime.now if listing.sale_start_at.nil?
return DateTime.now if listing.sale_start_at < DateTime.now
listing.sale_start_at
end
|