class Bliss::Client::Collection
Public Class Methods
all()
click to toggle source
# File lib/bliss/client/collection.rb, line 14 def self.all response = Client.connection.get('collections') if response.success? response.body.map { |attr| new attr } else raise JSON.parse(response.body).fetch('message') end end
find(ids, options = {})
click to toggle source
Fetch collections and their children.
@param [Array<Integer>] ids The ids of the collections to fetch @param [Hash] options @option options [Boolean] (false) :include_programs Whether to fetch
programs for each collection
@option options [Boolean] (false) :include_colors Whether to fetch
colors for each program
@option options [Boolean] (false) :include_styles Whether to fetch
styles for each program
@option options [Boolean] (false) :include_articles Whether to fetch
articles for each style
@option options [Boolean] (false) :include_prices Whether to fetch
prices for each style
@return [Array<Collection>]
@example Fetch collections 88 and 90 with programs, styles and prices
collections = Bliss::Client::Collection.find( [88, 90], include_programs: true, include_styles: true, include_prices: true )
# File lib/bliss/client/collection.rb, line 48 def self.find(ids, options = {}) options = { include_programs: false, include_styles: false, include_articles: false, include_colors: false, include_prices: false }.merge(options) c = Client.connection responses_hash = {} c.in_parallel do ids.each do |id| responses_hash[id] = c.get("collections/#{id}", options) end end responses = responses_hash.values if (failed_response = responses.find { |r| !r.success? }) raise JSON.parse(failed_response.body).fetch('message') end responses.map { |r| new r.body } end
Public Instance Methods
keylooks()
click to toggle source
@return [Array<Look>] All keylooks for this collection
# File lib/bliss/client/collection.rb, line 76 def keylooks @keylooks ||= Look.for_collection(id, type: :keylook) end
studiolooks()
click to toggle source
@return [Array<Look>] All studiolooks for this collection
# File lib/bliss/client/collection.rb, line 81 def studiolooks @studiolooks ||= Look.for_collection(id, type: :studiolook) end