market_bot 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.2
1
+ 0.2.3
@@ -10,6 +10,7 @@ module MarketBot
10
10
  attr_reader :app_id
11
11
  attr_reader *MARKET_ATTRIBUTES
12
12
  attr_reader :hydra
13
+ attr_reader :callback
13
14
 
14
15
  def self.parse(html)
15
16
  result = {}
@@ -82,6 +83,7 @@ module MarketBot
82
83
  def initialize(app_id, options={})
83
84
  @app_id = app_id
84
85
  @hydra = options[:hydra] || Typhoeus::Hydra.hydra
86
+ @callback = nil
85
87
  end
86
88
 
87
89
  def market_url
@@ -96,12 +98,16 @@ module MarketBot
96
98
  self
97
99
  end
98
100
 
99
- def enqueue_update
101
+ def enqueue_update(&block)
102
+ @callback = block
103
+
100
104
  request = Typhoeus::Request.new(market_url)
105
+
101
106
  request.on_complete do |response|
102
107
  result = App.parse(response.body)
103
108
  update_callback(result)
104
109
  end
110
+
105
111
  hydra.queue(request)
106
112
 
107
113
  self
@@ -114,6 +120,8 @@ module MarketBot
114
120
  attr_value = result[a]
115
121
  instance_variable_set(attr_name, attr_value)
116
122
  end
123
+
124
+ @callback.call(self) if @callback
117
125
  end
118
126
  end
119
127
 
data/market_bot.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "market_bot"
8
- s.version = "0.2.2"
8
+ s.version = "0.2.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Chad Remesch"]
12
- s.date = "2011-10-28"
12
+ s.date = "2011-11-01"
13
13
  s.description = "Market Bot is a high performance Ruby scraper for Google's Android Market with a simple to use API. It is built on top of Nokogiri and Typhoeus."
14
14
  s.email = "chad@remesch.com"
15
15
  s.extra_rdoc_files = [
@@ -47,7 +47,7 @@ Gem::Specification.new do |s|
47
47
  s.homepage = "http://github.com/chadrem/market_bot"
48
48
  s.licenses = ["MIT"]
49
49
  s.require_paths = ["lib"]
50
- s.rubygems_version = "1.8.11"
50
+ s.rubygems_version = "1.8.10"
51
51
  s.summary = "Market Bot: High performance Ruby scraper for Google's Android Market"
52
52
 
53
53
  if s.respond_to? :specification_version then
@@ -131,8 +131,17 @@ describe 'App' do
131
131
  app = App.new(test_id, :hydra => hydra)
132
132
  hydra.stub(:get, app.market_url).and_return(response)
133
133
 
134
- app.enqueue_update
134
+ callback_flag = false
135
+ app.enqueue_update do |a|
136
+ callback_flag = true
137
+ end
138
+
135
139
  hydra.run
140
+
141
+ it 'should call the callback' do
142
+ callback_flag.should be(true)
143
+ end
144
+
136
145
  check_getters(app)
137
146
  end
138
147
  end
metadata CHANGED
@@ -1,126 +1,124 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: market_bot
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.3
4
5
  prerelease:
5
- version: 0.2.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Chad Remesch
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-10-28 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2011-11-01 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: typhoeus
17
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70261668665780 !ruby/object:Gem::Requirement
18
17
  none: false
19
- requirements:
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
24
+ version_requirements: *70261668665780
25
+ - !ruby/object:Gem::Dependency
27
26
  name: nokogiri
28
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ requirement: &70261668665300 !ruby/object:Gem::Requirement
29
28
  none: false
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: "0"
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
34
33
  type: :runtime
35
34
  prerelease: false
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
35
+ version_requirements: *70261668665300
36
+ - !ruby/object:Gem::Dependency
38
37
  name: rspec
39
- requirement: &id003 !ruby/object:Gem::Requirement
38
+ requirement: &70261668664820 !ruby/object:Gem::Requirement
40
39
  none: false
41
- requirements:
40
+ requirements:
42
41
  - - ~>
43
- - !ruby/object:Gem::Version
42
+ - !ruby/object:Gem::Version
44
43
  version: 2.3.0
45
44
  type: :development
46
45
  prerelease: false
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
46
+ version_requirements: *70261668664820
47
+ - !ruby/object:Gem::Dependency
49
48
  name: bundler
50
- requirement: &id004 !ruby/object:Gem::Requirement
49
+ requirement: &70261668664340 !ruby/object:Gem::Requirement
51
50
  none: false
52
- requirements:
51
+ requirements:
53
52
  - - ~>
54
- - !ruby/object:Gem::Version
53
+ - !ruby/object:Gem::Version
55
54
  version: 1.0.0
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
57
+ version_requirements: *70261668664340
58
+ - !ruby/object:Gem::Dependency
60
59
  name: jeweler
61
- requirement: &id005 !ruby/object:Gem::Requirement
60
+ requirement: &70261668663860 !ruby/object:Gem::Requirement
62
61
  none: false
63
- requirements:
62
+ requirements:
64
63
  - - ~>
65
- - !ruby/object:Gem::Version
64
+ - !ruby/object:Gem::Version
66
65
  version: 1.6.4
67
66
  type: :development
68
67
  prerelease: false
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
68
+ version_requirements: *70261668663860
69
+ - !ruby/object:Gem::Dependency
71
70
  name: rcov
72
- requirement: &id006 !ruby/object:Gem::Requirement
71
+ requirement: &70261668663380 !ruby/object:Gem::Requirement
73
72
  none: false
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- version: "0"
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
78
77
  type: :development
79
78
  prerelease: false
80
- version_requirements: *id006
81
- - !ruby/object:Gem::Dependency
79
+ version_requirements: *70261668663380
80
+ - !ruby/object:Gem::Dependency
82
81
  name: ZenTest
83
- requirement: &id007 !ruby/object:Gem::Requirement
82
+ requirement: &70261668662900 !ruby/object:Gem::Requirement
84
83
  none: false
85
- requirements:
84
+ requirements:
86
85
  - - ~>
87
- - !ruby/object:Gem::Version
86
+ - !ruby/object:Gem::Version
88
87
  version: 4.6.2
89
88
  type: :development
90
89
  prerelease: false
91
- version_requirements: *id007
92
- - !ruby/object:Gem::Dependency
90
+ version_requirements: *70261668662900
91
+ - !ruby/object:Gem::Dependency
93
92
  name: ruby-debug19
94
- requirement: &id008 !ruby/object:Gem::Requirement
93
+ requirement: &70261668662420 !ruby/object:Gem::Requirement
95
94
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
99
98
  version: 0.11.6
100
99
  type: :development
101
100
  prerelease: false
102
- version_requirements: *id008
103
- - !ruby/object:Gem::Dependency
101
+ version_requirements: *70261668662420
102
+ - !ruby/object:Gem::Dependency
104
103
  name: rdoc
105
- requirement: &id009 !ruby/object:Gem::Requirement
104
+ requirement: &70261668661940 !ruby/object:Gem::Requirement
106
105
  none: false
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
110
109
  version: 3.9.4
111
110
  type: :development
112
111
  prerelease: false
113
- version_requirements: *id009
114
- description: Market Bot is a high performance Ruby scraper for Google's Android Market with a simple to use API. It is built on top of Nokogiri and Typhoeus.
112
+ version_requirements: *70261668661940
113
+ description: Market Bot is a high performance Ruby scraper for Google's Android Market
114
+ with a simple to use API. It is built on top of Nokogiri and Typhoeus.
115
115
  email: chad@remesch.com
116
116
  executables: []
117
-
118
117
  extensions: []
119
-
120
- extra_rdoc_files:
118
+ extra_rdoc_files:
121
119
  - LICENSE.txt
122
120
  - README.markdown
123
- files:
121
+ files:
124
122
  - .document
125
123
  - .rspec
126
124
  - Gemfile
@@ -148,34 +146,31 @@ files:
148
146
  - spec/market_bot_spec.rb
149
147
  - spec/spec_helper.rb
150
148
  homepage: http://github.com/chadrem/market_bot
151
- licenses:
149
+ licenses:
152
150
  - MIT
153
151
  post_install_message:
154
152
  rdoc_options: []
155
-
156
- require_paths:
153
+ require_paths:
157
154
  - lib
158
- required_ruby_version: !ruby/object:Gem::Requirement
155
+ required_ruby_version: !ruby/object:Gem::Requirement
159
156
  none: false
160
- requirements:
161
- - - ">="
162
- - !ruby/object:Gem::Version
163
- hash: -585384973
164
- segments:
157
+ requirements:
158
+ - - ! '>='
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ segments:
165
162
  - 0
166
- version: "0"
167
- required_rubygems_version: !ruby/object:Gem::Requirement
163
+ hash: 4062392463599958467
164
+ required_rubygems_version: !ruby/object:Gem::Requirement
168
165
  none: false
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- version: "0"
166
+ requirements:
167
+ - - ! '>='
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
173
170
  requirements: []
174
-
175
171
  rubyforge_project:
176
- rubygems_version: 1.8.11
172
+ rubygems_version: 1.8.10
177
173
  signing_key:
178
174
  specification_version: 3
179
- summary: "Market Bot: High performance Ruby scraper for Google's Android Market"
175
+ summary: ! 'Market Bot: High performance Ruby scraper for Google''s Android Market'
180
176
  test_files: []
181
-