class WeddingRegistryScraper::Registries::Zola
Private Instance Methods
fulfilled?(product)
click to toggle source
# File lib/wedding_registry_scraper/registries/zola.rb, line 55 def fulfilled?(product) if price_type(product) == WeddingRegistryScraper::Registry::VARIABLE_PRICE get_price(product) <= 0 else get_remaining(product) <= 0 end end
get_desired(product)
click to toggle source
# File lib/wedding_registry_scraper/registries/zola.rb, line 36 def get_desired(product) needed_text = get_needed_section(product) /Requested: (\d+)/.match(needed_text) { $1 }.to_i end
get_image_url(product)
click to toggle source
# File lib/wedding_registry_scraper/registries/zola.rb, line 23 def get_image_url(product) product.css('[data-image-url]')[0]['data-image-url'] end
get_name(product)
click to toggle source
# File lib/wedding_registry_scraper/registries/zola.rb, line 9 def get_name(product) product.css('.single-product-name').text.strip end
get_needed_section(product)
click to toggle source
# File lib/wedding_registry_scraper/registries/zola.rb, line 27 def get_needed_section(product) product.css('.needed').text.strip end
get_price(product)
click to toggle source
# File lib/wedding_registry_scraper/registries/zola.rb, line 41 def get_price(product) product.css('[data-price]')[0]['data-price'].gsub(/[$,]/, '').to_f end
get_products(doc)
click to toggle source
# File lib/wedding_registry_scraper/registries/zola.rb, line 5 def get_products(doc) doc.css('#all-panel .product-tile') end
get_remaining(product)
click to toggle source
# File lib/wedding_registry_scraper/registries/zola.rb, line 31 def get_remaining(product) needed_text = get_needed_section(product) /Still Needs: (\d+)/.match(needed_text) { $1 }.to_i end
get_sku(product)
click to toggle source
# File lib/wedding_registry_scraper/registries/zola.rb, line 13 def get_sku(product) sku = product.css('.single-product')[0]['id'] "zola:#{sku}" end
get_url(product)
click to toggle source
# File lib/wedding_registry_scraper/registries/zola.rb, line 18 def get_url(product) href = product.css('.content a')[0]['href'].sub(/^\/?/, '') "https://www.zola.com/#{href}" end
price_type(product)
click to toggle source
# File lib/wedding_registry_scraper/registries/zola.rb, line 45 def price_type(product) product_price = product.css('.product-price') if product_price.length > 0 && product_price[0].text.strip == 'Contribute what you wish' WeddingRegistryScraper::Registry::VARIABLE_PRICE else WeddingRegistryScraper::Registry::FIXED_PRICE end end