top4r 0.1.9 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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