link_thumbnailer 1.0.9 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +1 -0
- data/.travis.yml +6 -0
- data/CHANGELOG.md +10 -0
- data/Gemfile +8 -0
- data/README.md +6 -0
- data/Rakefile +6 -3
- data/lib/generators/templates/initializer.rb +5 -5
- data/lib/link_thumbnailer/configuration.rb +11 -0
- data/lib/link_thumbnailer/img_comparator.rb +6 -7
- data/lib/link_thumbnailer/img_parser.rb +3 -8
- data/lib/link_thumbnailer/object.rb +7 -7
- data/lib/link_thumbnailer/version.rb +1 -1
- data/lib/link_thumbnailer/web_image.rb +7 -6
- data/lib/link_thumbnailer.rb +15 -11
- data/link_thumbnailer.gemspec +9 -7
- data/spec/link_thumbnailer_spec.rb +5 -5
- data/spec/spec_helper.rb +6 -2
- data/spec/web_image_spec.rb +1 -1
- metadata +58 -33
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NTA1YjA5YWExNGFlMWQwYTdlOWRjZGNiYTJkZTE2ZGU5YzdhZGM5MQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MjFjYmQ5NDFkMDQ2YTFlY2IxZmEwZmM3OTZhOTdiOTFkZjU1MzMyNw==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MjY0NTUzZDE0ZDkyYjhjMjY0MzBhYThlYmNlZGIwMGY3MDIxMGIxOTg1ZGQ0
|
10
|
+
MTVhNzlkZDJmYTlkMjhkZmE5NjgxOGZmZWRhMzk4N2E4Y2E3MzBmMWRlMGI3
|
11
|
+
N2U5MGQ1NjFjYjM4M2EzZDM5ZGI5MjFhYzZlNjM4NDBlYzZhOWY=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YjcxOWQ5OWEzOWMzNjE0N2VkN2JiOTE1YjRmZjA5ZGI5YTliYzA5NDczNmQx
|
14
|
+
MWY0YjkyODFlZDU3OWQ2M2ZiZTEzOTYxOWZhYmI1MGZlM2JhMzY4NTIxYWNj
|
15
|
+
ZWIxMDI2ZjQwNzQzYjQ5ZDU3NWVlMGJmOTc4MDI0OGZmYWNiMmQ=
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
# 1.1.0
|
2
|
+
|
3
|
+
- Replace RMagick by [FastImage](https://github.com/sdsykes/fastimage)
|
4
|
+
- Rename `rmagick_attributes` config into `image_attributes`
|
5
|
+
|
6
|
+
# 1.0.9
|
7
|
+
|
8
|
+
- Fix issue when Location header used a relative path instead of an absolute path
|
9
|
+
- Update gemfile to be more flexible when using Hashie gem
|
10
|
+
|
1
11
|
# 1.0.8
|
2
12
|
|
3
13
|
- Thanks to [juriglx](https://github.com/juriglx), support for canonical urls
|
data/Gemfile
CHANGED
@@ -2,3 +2,11 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in link_thumbnailer.gemspec
|
4
4
|
gemspec
|
5
|
+
|
6
|
+
group :test do
|
7
|
+
gem 'coveralls', require: false
|
8
|
+
gem 'simplecov', require: false
|
9
|
+
gem 'rspec', '~> 2.14'
|
10
|
+
gem 'webmock', '~> 1.14'
|
11
|
+
gem 'pry', '~> 0.9'
|
12
|
+
end
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# LinkThumbnailer
|
2
2
|
|
3
3
|
[![Code Climate](https://codeclimate.com/github/gottfrois/link_thumbnailer.png)](https://codeclimate.com/github/gottfrois/link_thumbnailer)
|
4
|
+
[![Coverage Status](https://coveralls.io/repos/gottfrois/link_thumbnailer/badge.png?branch=master)](https://coveralls.io/r/gottfrois/link_thumbnailer?branch=master)
|
5
|
+
[![Build Status](https://travis-ci.org/gottfrois/link_thumbnailer.png?branch=master)](https://travis-ci.org/gottfrois/link_thumbnailer)
|
4
6
|
|
5
7
|
Ruby gem generating image thumbnails from a given URL. Rank them and give you back an object containing images and website informations. Works like Facebook link previewer.
|
6
8
|
|
@@ -176,3 +178,7 @@ Coming soon:
|
|
176
178
|
|
177
179
|
- [phlegx](https://github.com/phlegx)
|
178
180
|
- [juriglx](https://github.com/juriglx)
|
181
|
+
|
182
|
+
|
183
|
+
[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/gottfrois/link_thumbnailer/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
|
184
|
+
|
data/Rakefile
CHANGED
@@ -22,20 +22,20 @@ LinkThumbnailer.configure do |config|
|
|
22
22
|
# for more details.
|
23
23
|
# 'source_url' is a custom attribute and should always be included since this
|
24
24
|
# is where you'll find the image url.
|
25
|
-
# config.
|
25
|
+
# config.image_attributes = %w(source_url size type)
|
26
26
|
|
27
27
|
# Fetch 10 images maximum.
|
28
28
|
# config.limit = 10
|
29
29
|
|
30
30
|
# Return top 5 images only.
|
31
31
|
# config.top = 5
|
32
|
-
|
32
|
+
|
33
33
|
# Set user agent
|
34
34
|
# config.user_agent = 'linkthumbnailer'
|
35
|
-
|
36
|
-
# Enable or disable SSL verification
|
35
|
+
|
36
|
+
# Enable or disable SSL verification
|
37
37
|
# config.verify_ssl = true
|
38
|
-
|
38
|
+
|
39
39
|
# HTTP open_timeout: The amount of time in seconds to wait for a connection to be opened.
|
40
40
|
# config.http_timeout = 5
|
41
41
|
end
|
@@ -2,5 +2,16 @@ require 'hashie'
|
|
2
2
|
|
3
3
|
module LinkThumbnailer
|
4
4
|
class Configuration < Hashie::Mash
|
5
|
+
|
6
|
+
def rmagick_attributes
|
7
|
+
LinkThumbnailer.logger.info "[DEPRECATION] rmagick_attributes is deprecated. Use image_attributes instead."
|
8
|
+
image_attributes
|
9
|
+
end
|
10
|
+
|
11
|
+
def rmagick_attributes=(value)
|
12
|
+
LinkThumbnailer.logger.info "[DEPRECATION] rmagick_attributes is deprecated. Use image_attributes instead."
|
13
|
+
self.image_attributes = value
|
14
|
+
end
|
15
|
+
|
5
16
|
end
|
6
17
|
end
|
@@ -3,14 +3,13 @@ module LinkThumbnailer
|
|
3
3
|
module ImgComparator
|
4
4
|
|
5
5
|
def <=> other
|
6
|
-
|
7
|
-
(
|
8
|
-
|
9
|
-
|
10
|
-
|
6
|
+
if other.size != nil && size != nil
|
7
|
+
return (other.size.min ** 2) <=> (size.min ** 2)
|
8
|
+
elsif other.size != nil
|
9
|
+
return 1
|
10
|
+
else
|
11
|
+
return -1
|
11
12
|
end
|
12
|
-
|
13
|
-
result
|
14
13
|
end
|
15
14
|
|
16
15
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'fastimage'
|
2
2
|
|
3
3
|
module LinkThumbnailer
|
4
4
|
|
@@ -20,23 +20,18 @@ module LinkThumbnailer
|
|
20
20
|
break if count >= LinkThumbnailer.configuration.limit
|
21
21
|
img = parse_one(i)
|
22
22
|
next unless img
|
23
|
+
img.extend LinkThumbnailer::WebImage
|
23
24
|
img.extend LinkThumbnailer::ImgComparator
|
24
25
|
imgs << img
|
25
26
|
count += 1
|
26
27
|
}
|
27
28
|
|
28
29
|
imgs.sort! unless imgs.count <= 1
|
29
|
-
|
30
30
|
imgs.first(LinkThumbnailer.configuration.top)
|
31
31
|
end
|
32
32
|
|
33
33
|
def parse_one(img_url)
|
34
|
-
|
35
|
-
img = Magick::ImageList.new.from_blob(img_data).extend(
|
36
|
-
LinkThumbnailer::WebImage
|
37
|
-
)
|
38
|
-
img.source_url = img_url
|
39
|
-
img
|
34
|
+
FastImage.new(img_url, raise_on_failure: false)
|
40
35
|
rescue StandardError
|
41
36
|
nil
|
42
37
|
end
|
@@ -16,24 +16,24 @@ module LinkThumbnailer
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def valid?
|
19
|
-
return false if
|
20
|
-
LinkThumbnailer.configuration.mandatory_attributes.each {|a| return false if self[a].nil? || self[a].empty? } if LinkThumbnailer.configuration.strict
|
19
|
+
return false if keys.empty?
|
20
|
+
LinkThumbnailer.configuration.mandatory_attributes.each { |a| return false if self[a].nil? || self[a].empty? } if LinkThumbnailer.configuration.strict
|
21
21
|
true
|
22
22
|
end
|
23
23
|
|
24
24
|
def to_hash
|
25
|
-
if
|
26
|
-
super.merge('images' =>
|
25
|
+
if images.none? { |i| i.is_a?(String) }
|
26
|
+
super.merge('images' => images.map(&:to_hash))
|
27
27
|
else
|
28
28
|
super
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
32
|
def to_json
|
33
|
-
if
|
34
|
-
JSON.generate(
|
33
|
+
if images.none? { |i| i.is_a?(String) }
|
34
|
+
JSON.generate(to_hash.merge('images' => images.map(&:to_hash)))
|
35
35
|
else
|
36
|
-
JSON.generate(
|
36
|
+
JSON.generate(to_hash)
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
@@ -1,17 +1,18 @@
|
|
1
1
|
module LinkThumbnailer
|
2
2
|
module WebImage
|
3
3
|
|
4
|
-
attr_accessor :
|
4
|
+
attr_accessor :doc
|
5
|
+
|
6
|
+
def source_url
|
7
|
+
instance_variable_get(:@uri)
|
8
|
+
end
|
5
9
|
|
6
10
|
def to_hash
|
7
|
-
|
8
|
-
LinkThumbnailer.configuration.rmagick_attributes.each {|m|
|
11
|
+
LinkThumbnailer.configuration.image_attributes.each_with_object({}) { |m, result|
|
9
12
|
k = m.to_sym
|
10
13
|
result[k] = self.send(m) if self.respond_to?(m)
|
11
|
-
result[k] = result[k].to_s if result[k].is_a?(URI)
|
14
|
+
result[k] = result[k].to_s if result[k].is_a?(URI) || result[k].respond_to?(:to_str)
|
12
15
|
}
|
13
|
-
|
14
|
-
result
|
15
16
|
end
|
16
17
|
|
17
18
|
end
|
data/lib/link_thumbnailer.rb
CHANGED
@@ -20,7 +20,11 @@ module LinkThumbnailer
|
|
20
20
|
class << self
|
21
21
|
|
22
22
|
attr_accessor :configuration, :object, :fetcher, :doc_parser,
|
23
|
-
:img_url_filters, :img_parser
|
23
|
+
:img_url_filters, :img_parser, :logger
|
24
|
+
|
25
|
+
def logger
|
26
|
+
@logger ||= ::Rails.logger
|
27
|
+
end
|
24
28
|
|
25
29
|
def config
|
26
30
|
self.configuration ||= Configuration.new(
|
@@ -33,7 +37,7 @@ module LinkThumbnailer
|
|
33
37
|
%r{^http://pixel\.quantserve\.com/},
|
34
38
|
%r{^http://s7\.addthis\.com/}
|
35
39
|
],
|
36
|
-
|
40
|
+
image_attributes: %w(source_url size type),
|
37
41
|
limit: 10,
|
38
42
|
top: 5,
|
39
43
|
user_agent: 'linkthumbnailer',
|
@@ -50,9 +54,9 @@ module LinkThumbnailer
|
|
50
54
|
set_options(options)
|
51
55
|
instantiate_classes
|
52
56
|
|
53
|
-
doc =
|
57
|
+
doc = doc_parser.parse(fetcher.fetch(url), url)
|
54
58
|
|
55
|
-
self.object[:url] =
|
59
|
+
self.object[:url] = fetcher.url.to_s
|
56
60
|
opengraph(doc) || custom(doc)
|
57
61
|
end
|
58
62
|
|
@@ -68,22 +72,22 @@ module LinkThumbnailer
|
|
68
72
|
self.fetcher = LinkThumbnailer::Fetcher.new
|
69
73
|
self.doc_parser = LinkThumbnailer::DocParser.new
|
70
74
|
self.img_url_filters = [LinkThumbnailer::ImgUrlFilter.new]
|
71
|
-
self.img_parser = LinkThumbnailer::ImgParser.new(
|
75
|
+
self.img_parser = LinkThumbnailer::ImgParser.new(fetcher, img_url_filters)
|
72
76
|
end
|
73
77
|
|
74
78
|
def opengraph(doc)
|
75
|
-
return
|
76
|
-
self.object = LinkThumbnailer::Opengraph.parse(
|
77
|
-
return
|
79
|
+
return unless opengraph?(doc)
|
80
|
+
self.object = LinkThumbnailer::Opengraph.parse(object, doc)
|
81
|
+
return object if object.valid?
|
78
82
|
nil
|
79
83
|
end
|
80
84
|
|
81
85
|
def custom(doc)
|
82
86
|
self.object[:title] = doc.title
|
83
87
|
self.object[:description] = doc.description
|
84
|
-
self.object[:images] =
|
85
|
-
self.object[:url] = doc.canonical_url ||
|
86
|
-
return
|
88
|
+
self.object[:images] = img_parser.parse(doc.img_abs_urls.dup)
|
89
|
+
self.object[:url] = doc.canonical_url || object[:url]
|
90
|
+
return object if object.valid?
|
87
91
|
nil
|
88
92
|
end
|
89
93
|
|
data/link_thumbnailer.gemspec
CHANGED
@@ -15,12 +15,14 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = LinkThumbnailer::VERSION
|
17
17
|
|
18
|
-
gem.add_dependency
|
19
|
-
gem.add_dependency
|
20
|
-
gem.add_dependency
|
21
|
-
gem.add_dependency
|
22
|
-
gem.add_dependency
|
18
|
+
gem.add_dependency 'rake', '>= 0.9'
|
19
|
+
gem.add_dependency 'nokogiri', '>= 1.5.5', '< 1.7'
|
20
|
+
gem.add_dependency 'hashie', '>= 1.2.0'
|
21
|
+
gem.add_dependency 'net-http-persistent', '~> 2.7'
|
22
|
+
gem.add_dependency 'fastimage', '~> 1.5.5'
|
23
|
+
gem.add_dependency 'json', '>= 1.7.6', '< 1.9'
|
23
24
|
|
24
|
-
gem.add_development_dependency
|
25
|
-
gem.add_development_dependency
|
25
|
+
gem.add_development_dependency 'bundler', '~> 1.3'
|
26
|
+
gem.add_development_dependency 'rspec', '~> 2.14'
|
27
|
+
gem.add_development_dependency 'pry', '~> 0.9'
|
26
28
|
end
|
@@ -24,7 +24,7 @@ describe LinkThumbnailer do
|
|
24
24
|
config.strict = false
|
25
25
|
config.redirect_limit = 5
|
26
26
|
config.blacklist_urls = []
|
27
|
-
config.
|
27
|
+
config.image_attributes = []
|
28
28
|
config.limit = 5
|
29
29
|
config.top = 10
|
30
30
|
config.user_agent = 'linkthumbnailer'
|
@@ -41,7 +41,7 @@ describe LinkThumbnailer do
|
|
41
41
|
specify { LinkThumbnailer.configuration.strict.should be_false }
|
42
42
|
specify { LinkThumbnailer.configuration.redirect_limit.should eq(5) }
|
43
43
|
specify { LinkThumbnailer.configuration.blacklist_urls.should eq([]) }
|
44
|
-
specify { LinkThumbnailer.configuration.
|
44
|
+
specify { LinkThumbnailer.configuration.image_attributes.should eq([]) }
|
45
45
|
specify { LinkThumbnailer.configuration.limit.should eq(5) }
|
46
46
|
specify { LinkThumbnailer.configuration.top.should eq(10) }
|
47
47
|
specify { LinkThumbnailer.configuration.user_agent.should eq('linkthumbnailer') }
|
@@ -65,7 +65,7 @@ describe LinkThumbnailer do
|
|
65
65
|
%r{^http://pixel\.quantserve\.com/},
|
66
66
|
%r{^http://s7\.addthis\.com/}
|
67
67
|
]) }
|
68
|
-
specify { LinkThumbnailer.configuration.
|
68
|
+
specify { LinkThumbnailer.configuration.image_attributes.should eq(%w(source_url size type)) }
|
69
69
|
specify { LinkThumbnailer.configuration.limit.should eq(10) }
|
70
70
|
specify { LinkThumbnailer.configuration.top.should eq(5) }
|
71
71
|
specify { LinkThumbnailer.configuration.user_agent.should eq('linkthumbnailer') }
|
@@ -109,8 +109,8 @@ describe LinkThumbnailer do
|
|
109
109
|
expect { LinkThumbnailer.generate('foo', blacklist_urls: [%r{^http://foo\.bar\.com/}]).to change(LinkThumbnailer.configuration.blacklist_urls).to([%r{^http://foo\.bar\.com/}]) }
|
110
110
|
end
|
111
111
|
|
112
|
-
it "should set
|
113
|
-
expect { LinkThumbnailer.generate('foo',
|
112
|
+
it "should set image_attributes option" do
|
113
|
+
expect { LinkThumbnailer.generate('foo', image_attributes: %w(one two)).to change(LinkThumbnailer.configuration.image_attributes).to(%w(one two)) }
|
114
114
|
end
|
115
115
|
|
116
116
|
it "should set user_agent option" do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,9 +1,13 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
require 'coveralls'
|
3
|
+
Coveralls.wear!
|
4
|
+
|
5
|
+
require 'link_thumbnailer'
|
1
6
|
require 'rspec'
|
2
7
|
require 'webmock/rspec'
|
3
8
|
require 'json'
|
4
9
|
|
5
|
-
|
10
|
+
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
6
11
|
|
7
12
|
RSpec.configure do |config|
|
8
|
-
config.mock_with :rspec
|
9
13
|
end
|
data/spec/web_image_spec.rb
CHANGED
@@ -35,7 +35,7 @@ describe LinkThumbnailer::WebImage do
|
|
35
35
|
|
36
36
|
context "with all attributes" do
|
37
37
|
|
38
|
-
let(:attributes) { LinkThumbnailer.configuration.
|
38
|
+
let(:attributes) { LinkThumbnailer.configuration.image_attributes }
|
39
39
|
|
40
40
|
before do
|
41
41
|
attributes.each {|a| foo.class.send(:define_method, a.to_sym) { 'foo' } }
|
metadata
CHANGED
@@ -1,36 +1,52 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: link_thumbnailer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
5
|
-
prerelease:
|
4
|
+
version: 1.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Pierre-Louis Gottfrois
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-02-25 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.9'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.9'
|
14
27
|
- !ruby/object:Gem::Dependency
|
15
28
|
name: nokogiri
|
16
29
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
30
|
requirements:
|
19
|
-
- -
|
31
|
+
- - ! '>='
|
20
32
|
- !ruby/object:Gem::Version
|
21
33
|
version: 1.5.5
|
34
|
+
- - <
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '1.7'
|
22
37
|
type: :runtime
|
23
38
|
prerelease: false
|
24
39
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
40
|
requirements:
|
27
|
-
- -
|
41
|
+
- - ! '>='
|
28
42
|
- !ruby/object:Gem::Version
|
29
43
|
version: 1.5.5
|
44
|
+
- - <
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '1.7'
|
30
47
|
- !ruby/object:Gem::Dependency
|
31
48
|
name: hashie
|
32
49
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
50
|
requirements:
|
35
51
|
- - ! '>='
|
36
52
|
- !ruby/object:Gem::Version
|
@@ -38,7 +54,6 @@ dependencies:
|
|
38
54
|
type: :runtime
|
39
55
|
prerelease: false
|
40
56
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
57
|
requirements:
|
43
58
|
- - ! '>='
|
44
59
|
- !ruby/object:Gem::Version
|
@@ -46,7 +61,6 @@ dependencies:
|
|
46
61
|
- !ruby/object:Gem::Dependency
|
47
62
|
name: net-http-persistent
|
48
63
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
64
|
requirements:
|
51
65
|
- - ~>
|
52
66
|
- !ruby/object:Gem::Version
|
@@ -54,75 +68,86 @@ dependencies:
|
|
54
68
|
type: :runtime
|
55
69
|
prerelease: false
|
56
70
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
71
|
requirements:
|
59
72
|
- - ~>
|
60
73
|
- !ruby/object:Gem::Version
|
61
74
|
version: '2.7'
|
62
75
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
76
|
+
name: fastimage
|
64
77
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
78
|
requirements:
|
67
79
|
- - ~>
|
68
80
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
81
|
+
version: 1.5.5
|
70
82
|
type: :runtime
|
71
83
|
prerelease: false
|
72
84
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
85
|
requirements:
|
75
86
|
- - ~>
|
76
87
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
88
|
+
version: 1.5.5
|
78
89
|
- !ruby/object:Gem::Dependency
|
79
90
|
name: json
|
80
91
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
92
|
requirements:
|
83
|
-
- -
|
93
|
+
- - ! '>='
|
84
94
|
- !ruby/object:Gem::Version
|
85
95
|
version: 1.7.6
|
96
|
+
- - <
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '1.9'
|
86
99
|
type: :runtime
|
87
100
|
prerelease: false
|
88
101
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
102
|
requirements:
|
91
|
-
- -
|
103
|
+
- - ! '>='
|
92
104
|
- !ruby/object:Gem::Version
|
93
105
|
version: 1.7.6
|
106
|
+
- - <
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '1.9'
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: bundler
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - ~>
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '1.3'
|
116
|
+
type: :development
|
117
|
+
prerelease: false
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - ~>
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '1.3'
|
94
123
|
- !ruby/object:Gem::Dependency
|
95
124
|
name: rspec
|
96
125
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
126
|
requirements:
|
99
127
|
- - ~>
|
100
128
|
- !ruby/object:Gem::Version
|
101
|
-
version: 2.
|
129
|
+
version: '2.14'
|
102
130
|
type: :development
|
103
131
|
prerelease: false
|
104
132
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
133
|
requirements:
|
107
134
|
- - ~>
|
108
135
|
- !ruby/object:Gem::Version
|
109
|
-
version: 2.
|
136
|
+
version: '2.14'
|
110
137
|
- !ruby/object:Gem::Dependency
|
111
|
-
name:
|
138
|
+
name: pry
|
112
139
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
140
|
requirements:
|
115
141
|
- - ~>
|
116
142
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
143
|
+
version: '0.9'
|
118
144
|
type: :development
|
119
145
|
prerelease: false
|
120
146
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
147
|
requirements:
|
123
148
|
- - ~>
|
124
149
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
150
|
+
version: '0.9'
|
126
151
|
description: Ruby gem generating thumbnail images from a given URL.
|
127
152
|
email:
|
128
153
|
- pierrelouis.gottfrois@gmail.com
|
@@ -132,6 +157,7 @@ extra_rdoc_files: []
|
|
132
157
|
files:
|
133
158
|
- .gitignore
|
134
159
|
- .rspec
|
160
|
+
- .travis.yml
|
135
161
|
- CHANGELOG.md
|
136
162
|
- Gemfile
|
137
163
|
- LICENSE
|
@@ -173,27 +199,26 @@ files:
|
|
173
199
|
- spec/web_image_spec.rb
|
174
200
|
homepage: https://github.com/gottfrois/link_thumbnailer
|
175
201
|
licenses: []
|
202
|
+
metadata: {}
|
176
203
|
post_install_message:
|
177
204
|
rdoc_options: []
|
178
205
|
require_paths:
|
179
206
|
- lib
|
180
207
|
required_ruby_version: !ruby/object:Gem::Requirement
|
181
|
-
none: false
|
182
208
|
requirements:
|
183
209
|
- - ! '>='
|
184
210
|
- !ruby/object:Gem::Version
|
185
211
|
version: '0'
|
186
212
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
187
|
-
none: false
|
188
213
|
requirements:
|
189
214
|
- - ! '>='
|
190
215
|
- !ruby/object:Gem::Version
|
191
216
|
version: '0'
|
192
217
|
requirements: []
|
193
218
|
rubyforge_project:
|
194
|
-
rubygems_version: 1.
|
219
|
+
rubygems_version: 2.1.11
|
195
220
|
signing_key:
|
196
|
-
specification_version:
|
221
|
+
specification_version: 4
|
197
222
|
summary: Ruby gem ranking images from a given URL returning an object containing images
|
198
223
|
and website informations.
|
199
224
|
test_files:
|