market_bot 0.2.2 → 0.2.3

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.
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
-