link_thumbnailer 3.1.2 → 3.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/lib/generators/templates/initializer.rb +6 -2
- data/lib/link_thumbnailer/configuration.rb +3 -1
- data/lib/link_thumbnailer/scraper.rb +2 -8
- data/lib/link_thumbnailer/version.rb +1 -1
- data/spec/scraper_spec.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9799bede3f23e3369ddafa4ddeb36c9436d7ee5d
|
4
|
+
data.tar.gz: 484c6c008967be9cd3d813bac81dffde02c18bd7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c6a25faef22554a54a84a2ffbf0ee85babb1b088b5ed79d08e6550504f9e9853fa177cd730856cd1c3cb3d285dc1bf6a727cd89a85d410f00cf89023668d1de
|
7
|
+
data.tar.gz: 10216dc920ce54195179337fc4034ba14413c833369a2e566e2b7aa5d118a5c7599df4673564ff7a57bc3558be3fa8d826e0c8f35058aba64e9544a13bc1d09d
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
# 3.2.0
|
2
|
+
|
3
|
+
Makes scrapers configurable by allowing to set the scraping strategy:
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
LinkThumbnailer.configure do |config|
|
7
|
+
config.scrapers = [:opengraph, :default]
|
8
|
+
end
|
9
|
+
```
|
10
|
+
|
11
|
+
`opengraph` use the [Open Graph Protocol](http://ogp.me/).
|
12
|
+
`default` use a homemade algorithm
|
13
|
+
|
1
14
|
# 3.1.2
|
2
15
|
|
3
16
|
Allows to customize ideal description length
|
@@ -67,13 +67,17 @@ LinkThumbnailer.configure do |config|
|
|
67
67
|
# does not have to fetch its size and type.
|
68
68
|
#
|
69
69
|
# config.image_stats = true
|
70
|
-
|
70
|
+
|
71
71
|
# Whether you want LinkThumbnailer to raise an exception if the Content-Type of the HTTP request
|
72
72
|
# is not an html or xml.
|
73
73
|
#
|
74
74
|
# config.raise_on_invalid_format = false
|
75
|
-
|
75
|
+
|
76
76
|
# Sets number of concurrent http connections that can be opened to fetch images informations such as size and type.
|
77
77
|
#
|
78
78
|
# config.max_concurrency = 20
|
79
|
+
|
80
|
+
# Defines the strategies to use to scrap the website. See the [Open Graph Protocol](http://ogp.me/) for more information.
|
81
|
+
#
|
82
|
+
# config.scrapers = [:opengraph, :default]
|
79
83
|
end
|
@@ -25,7 +25,8 @@ module LinkThumbnailer
|
|
25
25
|
attr_accessor :redirect_limit, :blacklist_urls, :user_agent,
|
26
26
|
:verify_ssl, :http_open_timeout, :http_read_timeout, :attributes,
|
27
27
|
:graders, :description_min_length, :positive_regex, :negative_regex,
|
28
|
-
:image_limit, :image_stats, :raise_on_invalid_format, :max_concurrency
|
28
|
+
:image_limit, :image_stats, :raise_on_invalid_format, :max_concurrency,
|
29
|
+
:scrapers
|
29
30
|
|
30
31
|
alias_method :http_timeout, :http_open_timeout
|
31
32
|
alias_method :http_timeout=, :http_open_timeout=
|
@@ -60,6 +61,7 @@ module LinkThumbnailer
|
|
60
61
|
@image_stats = true
|
61
62
|
@raise_on_invalid_format = false
|
62
63
|
@max_concurrency = 20
|
64
|
+
@scrapers = [:opengraph, :default]
|
63
65
|
end
|
64
66
|
|
65
67
|
end
|
@@ -33,7 +33,7 @@ module LinkThumbnailer
|
|
33
33
|
|
34
34
|
def call
|
35
35
|
config.attributes.each do |name|
|
36
|
-
scrapers.each do |scraper_prefix|
|
36
|
+
config.scrapers.each do |scraper_prefix|
|
37
37
|
scraper_class(scraper_prefix, name).new(document, website).call(name.to_s)
|
38
38
|
break unless website.send(name).blank?
|
39
39
|
end
|
@@ -44,14 +44,8 @@ module LinkThumbnailer
|
|
44
44
|
|
45
45
|
private
|
46
46
|
|
47
|
-
def scrapers
|
48
|
-
[
|
49
|
-
'::LinkThumbnailer::Scrapers::Opengraph',
|
50
|
-
'::LinkThumbnailer::Scrapers::Default'
|
51
|
-
]
|
52
|
-
end
|
53
|
-
|
54
47
|
def scraper_class(prefix, name)
|
48
|
+
prefix = "::LinkThumbnailer::Scrapers::#{prefix.to_s.camelize}"
|
55
49
|
name = name.to_s.camelize
|
56
50
|
"#{prefix}::#{name}".constantize
|
57
51
|
rescue NameError
|
data/spec/scraper_spec.rb
CHANGED
@@ -25,7 +25,7 @@ describe LinkThumbnailer::Scraper do
|
|
25
25
|
|
26
26
|
before do
|
27
27
|
instance.stub_chain(:config, :attributes).and_return(attributes)
|
28
|
-
instance.
|
28
|
+
instance.stub_chain(:config, :scrapers).and_return(scrapers)
|
29
29
|
end
|
30
30
|
|
31
31
|
context 'when first one return a result' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: link_thumbnailer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pierre-Louis Gottfrois
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|