class MadCart::Store::Etsy

Public Instance Methods

valid?() click to toggle source
# File lib/mad_cart/store/etsy.rb, line 14
def valid?
  self.connection ? true : false
end

Private Instance Methods

create_connection(args) click to toggle source
# File lib/mad_cart/store/etsy.rb, line 40
def create_connection(args)
  ::Etsy.api_key = args[:api_key] if !::Etsy.api_key || (::Etsy.api_key != args[:api_key])
  ::Etsy.environment = :production
  store = ::Etsy::Shop.find(args[:store_name])
  if store.is_a? Array
    return store.first
  else
    raise InvalidStore if store.nil?
    return store
  end
end
format_products(listing) click to toggle source
# File lib/mad_cart/store/etsy.rb, line 23
def format_products(listing)
  {
     :external_id => listing.id,
     :name => listing.title,
     :description => listing.description,
     :price => listing.price.to_money(listing.currency).dollars,
     :url => listing.url,
     :currency_code => listing.currency,
     :image_url => image_size_url(listing, "url_570xN"),
     :square_image_url => image_size_url(listing, "url_75x75")
  }
end
get_products(options={}) click to toggle source
# File lib/mad_cart/store/etsy.rb, line 19
def get_products(options={})
  connection.listings(:active, product_options(options))
end
image_size_url(listing, format) click to toggle source
# File lib/mad_cart/store/etsy.rb, line 36
def image_size_url(listing, format)
  listing.result["MainImage"].try(:[], format) || listing.image.try(:result).try(:[], format)
end
product_options(options) click to toggle source
# File lib/mad_cart/store/etsy.rb, line 52
def product_options(options)
  prod_options = options.clone
  prod_options[:page] ||= 1

  return prod_options
end