Class: ItemBuilder::Modes::Price::BukalapakService
- Inherits:
-
Base
- Object
- Base
- ItemBuilder::Modes::Price::BukalapakService
show all
- Defined in:
- lib/item_builder/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
17
18
19
20
21
22
23
24
|
# File 'lib/item_builder/modes/price/bukalapak_service.rb', line 17
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
26
27
28
29
30
31
32
33
34
|
# File 'lib/item_builder/modes/price/bukalapak_service.rb', line 26
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
36
37
38
39
40
|
# File 'lib/item_builder/modes/price/bukalapak_service.rb', line 36
def deal_percentage
price = listing.price.to_f
sale_price = listing.sale_price.to_f
100 - (sale_price / price * 100)
end
|
9
10
11
12
13
14
15
|
# File 'lib/item_builder/modes/price/bukalapak_service.rb', line 9
def perform
if listing.sale_price.nil?
bukalapak_price
else
deal
end
end
|
#sale_end_at ⇒ Object
49
50
51
52
53
54
55
56
|
# File 'lib/item_builder/modes/price/bukalapak_service.rb', line 49
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
42
43
44
45
46
47
|
# File 'lib/item_builder/modes/price/bukalapak_service.rb', line 42
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
|