Class: TinyBuilder::PriceBuilder
Instance Attribute Summary
Attributes inherited from BaseBuilder
#channel_id, #inventory_v2, #listings, #mwh
Instance Method Summary
collapse
Methods inherited from BaseBuilder
#initialize, #perform
#bundle_warehouse_spaces, #counter_params, #multi_warehouse_spaces, #quantity, #quantity_hash, #single_warehouse_space, #warehouse_quantities, #wh_spaces
Methods included from DataLoader
#account_id, #associated_listings, #associated_stock_allocations, #associated_stock_allocs, #collect_associated_listings, #collect_variants_data, #get_mongo_wh_spaces, #get_warehouse_spaces, #listing_warehouse_spaces, #mapped_data, #mapped_wh_mappings, #stock_alloc, #stock_allocations, #variant_ids, #variants, #warehouse_mapping, #warehouse_mappings, #warehouse_spaces
Instance Method Details
#price_hash(listing) ⇒ Object
15
16
17
18
19
20
21
22
|
# File 'lib/tiny_builder/price_builder.rb', line 15
def price_hash(listing)
{
price: listing.price,
sale_price: sale_price(listing),
sale_start_at: sale_start_at(listing),
sale_end_at: sale_end_at(listing)
}
end
|
#sale_end_at(listing) ⇒ Object
44
45
46
47
48
|
# File 'lib/tiny_builder/price_builder.rb', line 44
def sale_end_at(listing)
listing.sale_end_at
rescue
nil
end
|
#sale_price(listing) ⇒ Object
32
33
34
35
36
|
# File 'lib/tiny_builder/price_builder.rb', line 32
def sale_price(listing)
listing.sale_price
rescue
nil
end
|
#sale_start_at(listing) ⇒ Object
38
39
40
41
42
|
# File 'lib/tiny_builder/price_builder.rb', line 38
def sale_start_at(listing)
listing.sale_start_at
rescue
nil
end
|
#to_h(listing) ⇒ Object
7
8
9
10
11
12
13
|
# File 'lib/tiny_builder/price_builder.rb', line 7
def to_h(listing)
if mwh
{ warehouse: warehouse_prices(listing) }
else
price_hash(listing)
end
end
|
#warehouse_prices(listing) ⇒ Object
24
25
26
27
28
29
30
|
# File 'lib/tiny_builder/price_builder.rb', line 24
def warehouse_prices(listing)
[
{
warehouse_id: 'no-wh-for-price'
}.merge(price_hash(listing))
]
end
|