class Flavordb::ProductCategory

Attributes

parent_category_id[R]

Public Class Methods

new(data) click to toggle source
Calls superclass method Flavordb::Base::new
# File lib/flavordb/product_category.rb, line 14
def initialize data
  super
  @is_root = data['rootCategory'] || false
  @parent_category_id = data['parentCategoryId']
  @products_resource = data['productsResource']
  @subcategories_resource = data['subcategoriesResource']
end
object_cache() click to toggle source
# File lib/flavordb/product_category.rb, line 8
def object_cache
  @object_cache = {} if @object_cache.nil?
  @object_cache
end

Public Instance Methods

parent_category(opts = {}) click to toggle source
# File lib/flavordb/product_category.rb, line 26
def parent_category(opts = {})
  client = opts[:client] || Flavordb::Client.default_client
  client.get_product_category(parent_category_id)
end
products(opts = {}) click to toggle source
# File lib/flavordb/product_category.rb, line 31
def products(opts = {})
  client = opts[:client] || Flavordb::Client.default_client
  product_data = client.get_object_data_by_path "#{self.resource}/products"
  product_data['data'].map {|p| Flavordb::Product.get_or_create p}
end
root?() click to toggle source
# File lib/flavordb/product_category.rb, line 22
def root?
  @is_root
end
subcategories(opts = {}) click to toggle source
# File lib/flavordb/product_category.rb, line 37
def subcategories(opts = {})
  client = opts[:client] || Flavordb::Client.default_client
  subcategory_data = client.get_object_data_by_path "#{self.resource}/subcategories"
  subcategory_data['data'].map {|sc| Flavordb::ProductCategory.get_or_create sc}
end