class OrionWholesale::Category
Category
item response structure:
{ code: "...", # ':category_code' in Catalog response. description: "..." # ':category_description' in Catalog response. }
Public Class Methods
all(options = {}, &block)
click to toggle source
# File lib/orion_wholesale/category.rb, line 15 def self.all(options = {}, &block) requires!(options, :username, :password) new(options).all(&block) end
new(options = {})
click to toggle source
# File lib/orion_wholesale/category.rb, line 10 def initialize(options = {}) requires!(options, :username, :password) @options = options end
Public Instance Methods
all() { |category| ... }
click to toggle source
Returns an array of hashes with category details.
# File lib/orion_wholesale/category.rb, line 21 def all(&block) categories = [] # Categories are listed in catalog xml, so fetch that. catalog = Catalog.new(@options) catalog.all do |item| categories << { code: item[:subcategory].gsub("&", "").gsub(/[^A-Za-z0-9]/, "_").squeeze("_").downcase, description: item[:subcategory].gsub("&", "&") } end categories.uniq! { |c| c[:code] } categories.sort_by! { |c| c[:code] } categories.each do |category| yield category end end