browshot 1.10.0 → 1.12.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.
data/Gemfile CHANGED
File without changes
data/Gemfile.lock CHANGED
File without changes
data/LICENSE.txt CHANGED
File without changes
data/README.rdoc CHANGED
File without changes
data/Rakefile CHANGED
File without changes
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.10.0
1
+ 1.12.0
data/lib/browshot.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  # The library requires an API key from Browshot.
2
- # Sign up fpr a free account a http://browshot.com/
2
+ # Sign up for a free account a http://browshot.com/
3
3
  #
4
4
  # See README.rdoc for more information abouth Browshot
5
5
  # and this library.
6
6
  #
7
7
  # Author:: Julien Sobrier (mailto:jsobrier@browshot.com)
8
- # Copyright:: Copyright (c) 2012 Browshot
8
+ # Copyright:: Copyright (c) 2013 Browshot
9
9
  # License:: Distributes under the same terms as Ruby
10
10
 
11
11
  require 'url'
@@ -34,7 +34,7 @@ class Browshot
34
34
 
35
35
  # Return the API version handled by the library. Note that this library can usually handle new arguments in requests without requiring an update.
36
36
  def api_version()
37
- return "1.9"
37
+ return "1.12"
38
38
  end
39
39
 
40
40
  # Retrieve a screenshot with one call. See http://browshot.com/api/documentation#simple for the full list of possible arguments.
@@ -173,6 +173,14 @@ class Browshot
173
173
  parameters[:id] = id
174
174
  return return_reply('screenshot/delete', parameters)
175
175
  end
176
+
177
+ # Get details about screenshots requested. See http://browshot.com/api/documentation#screenshot_search for the response format.
178
+ #
179
+ # +url+:: URL string to match
180
+ def screenshot_search(url='', parameters={})
181
+ parameters[:url] = url
182
+ return return_reply('screenshot/search', parameters)
183
+ end
176
184
 
177
185
 
178
186
  # Retrieve the screenshot, or a thumbnail, and save it to a file. See http://browshot.com/api/documentation#screenshot_thumbnails for the response format.
@@ -240,7 +248,7 @@ class Browshot
240
248
  http.open_timeout = 240
241
249
  http.read_timeout = 240
242
250
 
243
- request = Net::HTTP::Get.new(uri.request_uri)
251
+ request = Net::HTTP::Get.new(uri.request_uri, {'User-Agent' => 'Browshot Ruby 1.9.1'})
244
252
  if (uri.scheme == 'https')
245
253
  http.use_ssl = true
246
254
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
@@ -14,7 +14,7 @@ class TestBrowshot < Test::Unit::TestCase
14
14
  end
15
15
 
16
16
  should "get the API version" do
17
- assert_equal '1.9', @browshot.api_version()
17
+ assert_equal '1.12', @browshot.api_version()
18
18
  end
19
19
 
20
20
  should "get a screenshot with the simple method" do
@@ -223,9 +223,9 @@ class TestBrowshot < Test::Unit::TestCase
223
223
  end
224
224
  end
225
225
 
226
- should "to retrieve a screenshot with details==0" do
226
+ should "to retrieve a screenshot with details==0" do
227
227
  screenshot = @browshot.screenshot_create('http://browshot.com/')
228
- info = @browshot.screenshot_info(screenshot['id'], { 'details' => 0 })
228
+ info = @browshot.screenshot_info(screenshot['id'], { 'details' => 0 })
229
229
 
230
230
  assert_equal false, info['id'].nil?, "Screenshot ID should be present"
231
231
  assert_equal false, info['status'].nil?, "Screenshot status should be present"
@@ -255,9 +255,9 @@ class TestBrowshot < Test::Unit::TestCase
255
255
  end
256
256
  end
257
257
 
258
- should "to retrieve a screenshot with details==1" do
258
+ should "to retrieve a screenshot with details==1" do
259
259
  screenshot = @browshot.screenshot_create('http://browshot.com/')
260
- info = @browshot.screenshot_info(screenshot['id'], { 'details' => 1 })
260
+ info = @browshot.screenshot_info(screenshot['id'], { 'details' => 1 })
261
261
 
262
262
  assert_equal false, info['id'].nil?, "Screenshot ID should be present"
263
263
  assert_equal false, info['status'].nil?, "Screenshot status should be present"
@@ -319,54 +319,55 @@ class TestBrowshot < Test::Unit::TestCase
319
319
  end
320
320
  end
321
321
 
322
- should "to retrieve a screenshot with details==3" do
323
- screenshot = @browshot.screenshot_create('http://browshot.com/')
324
- info = @browshot.screenshot_info(screenshot['id'], { 'details' => 3 })
325
-
326
- assert_equal false, info['id'].nil?, "Screenshot ID should be present"
327
- assert_equal false, info['status'].nil?, "Screenshot status should be present"
328
- assert_equal false, info['priority'].nil?, "Screenshot priority should be present"
329
- assert_equal false, info['cost'].nil?, "Screenshot cost should be present"
330
-
331
- if (info['status'] == 'finished')
332
- assert_equal false, info['screenshot_url'].nil?, "Screenshot screenshot_url should be present"
333
- assert_equal false, info['url'].nil?, "Screenshot url should be present"
334
- assert_equal false, info['size'].nil?, "Screenshot size should be present"
335
- assert_equal false, info['width'].nil?, "Screenshot width should be present"
336
- assert_equal false, info['height'].nil?, "Screenshot height should be present"
337
- assert_equal false, info['instance_id'].nil?, "Screenshot instance_id should be present"
338
- assert_equal false, info['final_url'].nil?, "Screenshot final_url should be present"
339
- assert_equal false, info['scale'].nil?, "Screenshot scale should be present"
340
-
341
- assert_equal false, info['response_code'].nil?, "Screenshot response_code should be present"
342
- assert_equal false, info['content_type'].nil?, "Screenshot content_type should be present"
343
-
344
- assert_equal false, info['started'].nil?, "Screenshot started should be present"
345
- assert_equal false, info['finished'].nil?, "Screenshot finished should be present"
346
- assert_equal false, info['load'].nil?, "Screenshot load should be present"
347
- assert_equal false, info['request_time'].nil?, "Screenshot request_time should be present"
348
- assert_equal false, info['content'].nil?, "Screenshot content should be present"
349
-
350
- assert_equal false, info['images'].nil?, "Screenshot images should be present"
351
- assert_equal true, info['images'].length > 0, "Screenshot images should be present"
352
- assert_equal false, info['scripts'].nil?, "Screenshot scripts should be present"
353
- assert_equal false, info['iframes'].nil?, "Screenshot iframes should be present"
354
- assert_equal false, info['embeds'].nil?, "Screenshot embeds should be present"
355
- end
322
+ # Details = 2 by default
323
+ # should "to retrieve a screenshot with details==3" do
324
+ # screenshot = @browshot.screenshot_create('http://browshot.com/')
325
+ # info = @browshot.screenshot_info(screenshot['id'], { 'details' => 3 })
326
+ #
327
+ # assert_equal false, info['id'].nil?, "Screenshot ID should be present"
328
+ # assert_equal false, info['status'].nil?, "Screenshot status should be present"
329
+ # assert_equal false, info['priority'].nil?, "Screenshot priority should be present"
330
+ # assert_equal false, info['cost'].nil?, "Screenshot cost should be present"
331
+ #
332
+ # if (info['status'] == 'finished')
333
+ # assert_equal false, info['screenshot_url'].nil?, "Screenshot screenshot_url should be present"
334
+ # assert_equal false, info['url'].nil?, "Screenshot url should be present"
335
+ # assert_equal false, info['size'].nil?, "Screenshot size should be present"
336
+ # assert_equal false, info['width'].nil?, "Screenshot width should be present"
337
+ # assert_equal false, info['height'].nil?, "Screenshot height should be present"
338
+ # assert_equal false, info['instance_id'].nil?, "Screenshot instance_id should be present"
339
+ # assert_equal false, info['final_url'].nil?, "Screenshot final_url should be present"
340
+ # assert_equal false, info['scale'].nil?, "Screenshot scale should be present"
341
+ #
342
+ # assert_equal false, info['response_code'].nil?, "Screenshot response_code should be present"
343
+ # assert_equal false, info['content_type'].nil?, "Screenshot content_type should be present"
344
+ #
345
+ # assert_equal false, info['started'].nil?, "Screenshot started should be present"
346
+ # assert_equal false, info['finished'].nil?, "Screenshot finished should be present"
347
+ # assert_equal false, info['load'].nil?, "Screenshot load should be present"
348
+ # assert_equal false, info['request_time'].nil?, "Screenshot request_time should be present"
349
+ # assert_equal false, info['content'].nil?, "Screenshot content should be present"
350
+ #
351
+ # assert_equal false, info['images'].nil?, "Screenshot images should be present"
352
+ # assert_equal true, info['images'].length > 0, "Screenshot images should be present"
353
+ # assert_equal false, info['scripts'].nil?, "Screenshot scripts should be present"
354
+ # assert_equal false, info['iframes'].nil?, "Screenshot iframes should be present"
355
+ # assert_equal false, info['embeds'].nil?, "Screenshot embeds should be present"
356
+ # end
356
357
  end
357
358
 
358
359
  should "retrieve the list of screenshots" do
359
360
  screenshots = @browshot.screenshot_list()
360
361
  assert_equal true, screenshots.length > 0, "There should be multiple screenshots"
361
362
 
362
- screenshot_id = 0
363
+ screenshot_id = 0
363
364
  screenshots.each do |key, screenshot|
364
365
  screenshot_id = key
365
366
  break
366
367
  end
367
368
 
368
369
  assert_equal true, screenshot_id.to_i > 0, "Screenshot ID should be positive"
369
- screenshot = screenshots[screenshot_id]
370
+ screenshot = screenshots[screenshot_id]
370
371
 
371
372
  assert_equal false, screenshot['id'].nil?, "Screenshot ID should be present"
372
373
  assert_equal false, screenshot['status'].nil?, "Screenshot status should be present"
@@ -412,7 +413,7 @@ class TestBrowshot < Test::Unit::TestCase
412
413
  screenshots = @browshot.screenshot_list()
413
414
  assert_equal true, screenshots.length > 0, "There should be multiple screenshots"
414
415
 
415
- screenshot_id = 0
416
+ screenshot_id = 0
416
417
  screenshots.each do |key, screenshot|
417
418
  screenshot_id = key
418
419
  break
@@ -440,8 +441,27 @@ class TestBrowshot < Test::Unit::TestCase
440
441
  hosting = @browshot.screenshot_share(0)
441
442
  assert_equal 'error', hosting['status'], "Missing screenshot ID"
442
443
  end
444
+
445
+ should "Search for screenshots" do
446
+ screenshots = @browshot.screenshot_search('google.com', { :details => 0 })
447
+ assert_equal true, screenshots.length > 0, "There should be multiple screenshots"
448
+
449
+ screenshot_id = 0
450
+ screenshots.each do |key, screenshot|
451
+ screenshot_id = key
452
+ break
453
+ end
454
+
455
+ assert_equal true, screenshot_id.to_i > 0, "Screenshot ID should be positive"
456
+ screenshot = screenshots[screenshot_id]
457
+
458
+ assert_equal false, screenshot['id'].nil?, "Screenshot ID should be present"
459
+ assert_equal false, screenshot['status'].nil?, "Screenshot status should be present"
460
+ assert_equal false, screenshot['priority'].nil?, "Screenshot priority should be present"
461
+ assert_equal false, screenshot['cost'].nil?, "Screenshot cost should be present"
462
+ end
443
463
 
444
- should "retrieve account information" do
464
+ should "Retrieve account information" do
445
465
  account = @browshot.account_info()
446
466
  assert_equal false, account['balance'].nil?, "Account balance should be present"
447
467
  assert_equal 0, account['balance'].to_i, "Balance should be empty"
metadata CHANGED
@@ -1,114 +1,149 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: browshot
3
- version: !ruby/object:Gem::Version
4
- version: 1.10.0
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ hash: 39
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 12
9
+ - 0
10
+ version: 1.12.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Julien Sobrier
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-10-28 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-10-08 00:00:00 -07:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ hash: 3
28
+ segments:
29
+ - 0
30
+ version: "0"
31
+ type: :runtime
32
+ prerelease: false
15
33
  name: json
16
- requirement: &215834040 !ruby/object:Gem::Requirement
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ requirement: &id002 !ruby/object:Gem::Requirement
17
37
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ hash: 3
42
+ segments:
43
+ - 0
44
+ version: "0"
22
45
  type: :runtime
23
46
  prerelease: false
24
- version_requirements: *215834040
25
- - !ruby/object:Gem::Dependency
26
47
  name: url
27
- requirement: &215833300 !ruby/object:Gem::Requirement
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ requirement: &id003 !ruby/object:Gem::Requirement
28
51
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
33
- type: :runtime
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ hash: 3
56
+ segments:
57
+ - 0
58
+ version: "0"
59
+ type: :development
34
60
  prerelease: false
35
- version_requirements: *215833300
36
- - !ruby/object:Gem::Dependency
37
61
  name: json
38
- requirement: &215832600 !ruby/object:Gem::Requirement
62
+ version_requirements: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ requirement: &id004 !ruby/object:Gem::Requirement
39
65
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ hash: 3
70
+ segments:
71
+ - 0
72
+ version: "0"
44
73
  type: :development
45
74
  prerelease: false
46
- version_requirements: *215832600
47
- - !ruby/object:Gem::Dependency
48
75
  name: url
49
- requirement: &215831900 !ruby/object:Gem::Requirement
76
+ version_requirements: *id004
77
+ - !ruby/object:Gem::Dependency
78
+ requirement: &id005 !ruby/object:Gem::Requirement
50
79
  none: false
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ hash: 3
84
+ segments:
85
+ - 0
86
+ version: "0"
55
87
  type: :development
56
88
  prerelease: false
57
- version_requirements: *215831900
58
- - !ruby/object:Gem::Dependency
59
89
  name: shoulda
60
- requirement: &217283560 !ruby/object:Gem::Requirement
61
- none: false
62
- requirements:
63
- - - ! '>='
64
- - !ruby/object:Gem::Version
65
- version: '0'
66
- type: :development
67
- prerelease: false
68
- version_requirements: *217283560
69
- - !ruby/object:Gem::Dependency
70
- name: bundler
71
- requirement: &217282880 !ruby/object:Gem::Requirement
90
+ version_requirements: *id005
91
+ - !ruby/object:Gem::Dependency
92
+ requirement: &id006 !ruby/object:Gem::Requirement
72
93
  none: false
73
- requirements:
94
+ requirements:
74
95
  - - ~>
75
- - !ruby/object:Gem::Version
96
+ - !ruby/object:Gem::Version
97
+ hash: 23
98
+ segments:
99
+ - 1
100
+ - 0
101
+ - 0
76
102
  version: 1.0.0
77
103
  type: :development
78
104
  prerelease: false
79
- version_requirements: *217282880
80
- - !ruby/object:Gem::Dependency
81
- name: jeweler
82
- requirement: &217282160 !ruby/object:Gem::Requirement
105
+ name: bundler
106
+ version_requirements: *id006
107
+ - !ruby/object:Gem::Dependency
108
+ requirement: &id007 !ruby/object:Gem::Requirement
83
109
  none: false
84
- requirements:
110
+ requirements:
85
111
  - - ~>
86
- - !ruby/object:Gem::Version
112
+ - !ruby/object:Gem::Version
113
+ hash: 7
114
+ segments:
115
+ - 1
116
+ - 6
117
+ - 4
87
118
  version: 1.6.4
88
119
  type: :development
89
120
  prerelease: false
90
- version_requirements: *217282160
91
- - !ruby/object:Gem::Dependency
92
- name: rcov
93
- requirement: &217281260 !ruby/object:Gem::Requirement
121
+ name: jeweler
122
+ version_requirements: *id007
123
+ - !ruby/object:Gem::Dependency
124
+ requirement: &id008 !ruby/object:Gem::Requirement
94
125
  none: false
95
- requirements:
96
- - - ! '>='
97
- - !ruby/object:Gem::Version
98
- version: '0'
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ hash: 3
130
+ segments:
131
+ - 0
132
+ version: "0"
99
133
  type: :development
100
134
  prerelease: false
101
- version_requirements: *217281260
102
- description: ! 'Browshot (http://www.browshot.com/) is a web service to easily make
103
- screenshots of web pages in any screen size, as any device: iPhone, iPad, Android,
104
- Nook©, PC, etc. The latest API version is detailed at http://browshot.com/api/documentation.'
135
+ name: rcov
136
+ version_requirements: *id008
137
+ description: "Browshot (http://www.browshot.com/) is a web service to easily make screenshots of web pages in any screen size, as any device: iPhone, iPad, Android, Nook\xC2\xA9, PC, etc. The latest API version is detailed at http://browshot.com/api/documentation."
105
138
  email: julien@sobrier.net
106
139
  executables: []
140
+
107
141
  extensions: []
108
- extra_rdoc_files:
142
+
143
+ extra_rdoc_files:
109
144
  - LICENSE.txt
110
145
  - README.rdoc
111
- files:
146
+ files:
112
147
  - Gemfile
113
148
  - Gemfile.lock
114
149
  - LICENSE.txt
@@ -118,33 +153,39 @@ files:
118
153
  - lib/browshot.rb
119
154
  - test/helper.rb
120
155
  - test/test_browshot.rb
156
+ has_rdoc: true
121
157
  homepage: http://github.com/juliensobrier/browshot-ruby
122
- licenses:
158
+ licenses:
123
159
  - MIT
124
160
  post_install_message:
125
161
  rdoc_options: []
126
- require_paths:
162
+
163
+ require_paths:
127
164
  - lib
128
- required_ruby_version: !ruby/object:Gem::Requirement
165
+ required_ruby_version: !ruby/object:Gem::Requirement
129
166
  none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: '0'
134
- segments:
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ hash: 3
171
+ segments:
135
172
  - 0
136
- hash: -608764482714379924
137
- required_rubygems_version: !ruby/object:Gem::Requirement
173
+ version: "0"
174
+ required_rubygems_version: !ruby/object:Gem::Requirement
138
175
  none: false
139
- requirements:
140
- - - ! '>='
141
- - !ruby/object:Gem::Version
142
- version: '0'
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ hash: 3
180
+ segments:
181
+ - 0
182
+ version: "0"
143
183
  requirements: []
184
+
144
185
  rubyforge_project:
145
- rubygems_version: 1.8.11
186
+ rubygems_version: 1.3.7
146
187
  signing_key:
147
188
  specification_version: 3
148
- summary: Ruby library for Browshot (L<http://www.browshot.com/>), a web service to
149
- create website screenshots.
189
+ summary: Ruby library for Browshot (L<http://www.browshot.com/>), a web service to create website screenshots.
150
190
  test_files: []
191
+