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