class Taobao::Product
Constants
- BASIC_PROPERTIES
- OTHER_PROPERTIES
Public Class Methods
new(product_properties)
click to toggle source
# File lib/taobao/product.rb, line 19 def initialize(product_properties) if Hash === product_properties to_object product_properties @all_properties_fetched = false convert_types else @num_iid = product_properties.to_s fetch_full_data end end
Public Instance Methods
method_missing(method_name, *args, &block)
click to toggle source
Calls superclass method
# File lib/taobao/product.rb, line 34 def method_missing(method_name, *args, &block) if instance_variable_defined? "@#{method_name}" fetch_full_data unless @all_properties_fetched self.instance_variable_get "@#{method_name}" else super end end
user()
click to toggle source
# File lib/taobao/product.rb, line 30 def user Taobao::User.new @nick end
Private Instance Methods
convert_types()
click to toggle source
# File lib/taobao/product.rb, line 54 def convert_types @price = @price.to_f @cid = @cid.to_i @num_iid = @num_iid.to_i @auction_point = @auction_point.to_i @delist_time = DateTime.parse @delist_time end
fetch_full_data()
click to toggle source
# File lib/taobao/product.rb, line 45 def fetch_full_data fields = (BASIC_PROPERTIES + OTHER_PROPERTIES).join ',' params = {method: 'taobao.item.get', fields: fields, num_iid: id} result = Taobao.api_request(params) to_object result[:item_get_response][:item] @all_properties_fetched = true convert_types end