class Taobao::Category

Attributes

id[R]

Public Class Methods

new(category_id) click to toggle source

@param category_id [Integer]

# File lib/taobao/category.rb, line 6
def initialize(category_id)
  @id = category_id.to_i
end

Public Instance Methods

name() click to toggle source

@return [String]

# File lib/taobao/category.rb, line 11
def name
  @name ||= category_request(cids: @id)[:name]
end
products() click to toggle source

@return [Taobao::ProductList]

# File lib/taobao/category.rb, line 31
def products
  @products ||= Taobao::ProductList.new(cid: @id)
end
properties() click to toggle source

@return [Taobao::PropertyList]

# File lib/taobao/category.rb, line 26
def properties
  @properties ||= Taobao::PropertyList.new(cid: @id)
end
subcategories() click to toggle source

@return [Array<Taobao::Category>]

# File lib/taobao/category.rb, line 16
def subcategories
  return @subcategories if @subcategories
  @subcategories = category_request(parent_cid: @id).map do |cat|
    category = self.class.new cat[:cid]
    category.to_object(cat)
    category
  end
end

Private Instance Methods

category_request(optional_params = {}) click to toggle source
# File lib/taobao/category.rb, line 36
def category_request(optional_params = {})
  fields = [:cid, :parent_cid, :name, :is_parent].join ','
  params = {method: 'taobao.itemcats.get', fields: fields}
  result = Taobao.api_request(params.merge(optional_params))
  begin
    result[:itemcats_get_response][:item_cats][:item_cat]
  rescue NoMethodError
    []
  end
end