top4r 0.1.9 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,8 +27,8 @@ class Top4R::Client
27
27
 
28
28
  def item_info(iid = nil, options = {}, &block)
29
29
  method = :item_info
30
- valid_method(method @@ITEM_METHODS, :item)
31
- options = {:iid => iid}.merge(options) if iid
30
+ valid_method(method, @@ITEM_METHODS, :item)
31
+ options = {:num_iid => iid}.merge(options) if iid
32
32
  params = {:fields => Top4R::Item.fields}.merge(options)
33
33
  response = http_connect {|conn| create_http_get_request(@@ITEM_METHODS[method], params)}
34
34
  item = Top4R::Item.unmarshal(JSON.parse(response.body)[rsp(@@SHOP_METHODS[method])]["item"])
@@ -2,6 +2,7 @@
2
2
  class Top4R::Client
3
3
  @@TAOBAOKEITEM_METHODS = {
4
4
  :taobaoke_items_get => 'taobao.taobaoke.items.get',
5
+ :taobaoke_items_detail_get => 'taobao.taobaoke.items.detail.get',
5
6
  :taobaoke_items_convert => 'taobao.taobaoke.items.convert',
6
7
  :taobaoke_shops_convert => 'taobao.taobaoke.shops.convert'
7
8
  }
@@ -23,6 +24,24 @@ class Top4R::Client
23
24
  items
24
25
  end
25
26
 
27
+ def taobaoke_items_detail(num_iids, options = {}, &block)
28
+ method = :taobaoke_items_detail_get
29
+ valid_method(method, @@TAOBAOKEITEM_METHODS, :taobaoke_item)
30
+ options = {:num_iids => num_iids.join(',')}.merge(options) if num_iids
31
+ params = {:fields => Top4R::TaobaokeItem.fields, :v => "2.0"}.merge(options)
32
+ response = http_connect {|conn| create_http_get_request(@@TAOBAOKEITEM_METHODS[method], params)}
33
+ result = JSON.parse(response.body)[rsp(@@TAOBAOKEITEM_METHODS[method])]
34
+ if result.is_a?(Hash) and result["taobaoke_item_details"]
35
+ items = Top4R::TaobaokeItemDetail.unmarshal(result["taobaoke_item_details"]["taobaoke_item_detail"])
36
+ items.each {|item| bless_model(item); yield item if block_given?}
37
+ @total_results = result["total_results"].to_i
38
+ else
39
+ @total_results = 0
40
+ items = []
41
+ end
42
+ items
43
+ end
44
+
26
45
  def taobaoke_shops(method = :taobaoke_shops_convert, options = {}, &block)
27
46
  valid_method(method, @@TAOBAOKEITEM_METHODS, :taobaoke_item)
28
47
  params = {:fields => Top4R::TaobaokeItem.fields, :v => "2.0"}.merge(options)
data/lib/top4r/client.rb CHANGED
@@ -26,6 +26,7 @@ class Top4R::Client
26
26
  },
27
27
  :taobaoke_item => {
28
28
  :taobaoke_items_get => 'taobao.taobaoke.items.get',
29
+ :taobaoke_items_detail_get => 'taobao.taobaoke.items.detail.get',
29
30
  :taobaoke_items_convert => 'taobao.taobaoke.items.convert',
30
31
  :taobaoke_shops_convert => 'taobao.taobaoke.shops.convert'
31
32
  }
@@ -82,6 +82,9 @@ module Top4R
82
82
  else
83
83
  @location = nil
84
84
  end
85
+ if @item_imgs && @item_imgs.size > 0
86
+ @item_imgs.map {|img| ItemImg.new(img)}
87
+ end
85
88
  # if @item_imgs.is_a?(Array) && @item_imgs.size > 0
86
89
  # @item_imgs.map {|img| ItemImg.new(img)}
87
90
  # else
@@ -44,4 +44,18 @@ module Top4R
44
44
  end
45
45
  end
46
46
 
47
+ class TaobaokeItemDetail
48
+ include ModelMixin
49
+ @@ATTRIBUTES = [:item, :click_url, :shop_click_url, :seller_credit_score]
50
+ attr_accessor *@@ATTRIBUTES
51
+
52
+ class << self
53
+ def attributes; @@ATTRIBUTES; end
54
+
55
+ def default_public_fields
56
+ ["item.title", "item.num_iid", "item.pic_url", "item.price", "item.nick", "item.item_imgs", :click_url, :shop_click_url, :seller_credit_score]
57
+ end
58
+ end
59
+ end
60
+
47
61
  end
data/lib/top4r/version.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Top4R::Version
3
3
  MAJOR = 0
4
- MINOR = 1
5
- REVISION = 9
4
+ MINOR = 2
5
+ REVISION = 0
6
6
 
7
7
  class << self
8
8
  # Returns X.Y.Z formatted version string
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: top4r
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-28 00:00:00.000000000Z
12
+ date: 2012-12-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
16
- requirement: &2157550940 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,12 @@ dependencies:
21
21
  version: 1.1.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2157550940
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.1.1
25
30
  description:
26
31
  email: nowazhu@gmail.com
27
32
  executables:
@@ -84,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
89
  version: '0'
85
90
  requirements: []
86
91
  rubyforge_project: top4r
87
- rubygems_version: 1.8.10
92
+ rubygems_version: 1.8.24
88
93
  signing_key:
89
94
  specification_version: 3
90
95
  summary: TOP4R is a library that can help you build plugin for TaoBao.com quickly