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 +1 -1
- data/lib/market_bot/android/app.rb +9 -1
- data/market_bot.gemspec +3 -3
- data/spec/market_bot/android/app_spec.rb +10 -1
- metadata +79 -84
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.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.
|
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-
|
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.
|
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
|
-
|
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
|
-
|
14
|
-
|
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: &
|
16
|
+
requirement: &70261668665780 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
|
-
requirements:
|
20
|
-
- -
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version:
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
26
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: *70261668665780
|
25
|
+
- !ruby/object:Gem::Dependency
|
27
26
|
name: nokogiri
|
28
|
-
requirement: &
|
27
|
+
requirement: &70261668665300 !ruby/object:Gem::Requirement
|
29
28
|
none: false
|
30
|
-
requirements:
|
31
|
-
- -
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version:
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
|
-
version_requirements: *
|
37
|
-
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: *70261668665300
|
36
|
+
- !ruby/object:Gem::Dependency
|
38
37
|
name: rspec
|
39
|
-
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: *
|
48
|
-
- !ruby/object:Gem::Dependency
|
46
|
+
version_requirements: *70261668664820
|
47
|
+
- !ruby/object:Gem::Dependency
|
49
48
|
name: bundler
|
50
|
-
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: *
|
59
|
-
- !ruby/object:Gem::Dependency
|
57
|
+
version_requirements: *70261668664340
|
58
|
+
- !ruby/object:Gem::Dependency
|
60
59
|
name: jeweler
|
61
|
-
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: *
|
70
|
-
- !ruby/object:Gem::Dependency
|
68
|
+
version_requirements: *70261668663860
|
69
|
+
- !ruby/object:Gem::Dependency
|
71
70
|
name: rcov
|
72
|
-
requirement: &
|
71
|
+
requirement: &70261668663380 !ruby/object:Gem::Requirement
|
73
72
|
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version:
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
78
77
|
type: :development
|
79
78
|
prerelease: false
|
80
|
-
version_requirements: *
|
81
|
-
- !ruby/object:Gem::Dependency
|
79
|
+
version_requirements: *70261668663380
|
80
|
+
- !ruby/object:Gem::Dependency
|
82
81
|
name: ZenTest
|
83
|
-
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: *
|
92
|
-
- !ruby/object:Gem::Dependency
|
90
|
+
version_requirements: *70261668662900
|
91
|
+
- !ruby/object:Gem::Dependency
|
93
92
|
name: ruby-debug19
|
94
|
-
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: *
|
103
|
-
- !ruby/object:Gem::Dependency
|
101
|
+
version_requirements: *70261668662420
|
102
|
+
- !ruby/object:Gem::Dependency
|
104
103
|
name: rdoc
|
105
|
-
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: *
|
114
|
-
description: Market Bot is a high performance Ruby scraper for Google's Android Market
|
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
|
-
|
164
|
-
segments:
|
157
|
+
requirements:
|
158
|
+
- - ! '>='
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: '0'
|
161
|
+
segments:
|
165
162
|
- 0
|
166
|
-
|
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:
|
166
|
+
requirements:
|
167
|
+
- - ! '>='
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: '0'
|
173
170
|
requirements: []
|
174
|
-
|
175
171
|
rubyforge_project:
|
176
|
-
rubygems_version: 1.8.
|
172
|
+
rubygems_version: 1.8.10
|
177
173
|
signing_key:
|
178
174
|
specification_version: 3
|
179
|
-
summary:
|
175
|
+
summary: ! 'Market Bot: High performance Ruby scraper for Google''s Android Market'
|
180
176
|
test_files: []
|
181
|
-
|