link_thumbnailer 3.2.0 → 3.4.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.
Files changed (88) hide show
  1. checksums.yaml +5 -5
  2. data/.ruby-version +1 -0
  3. data/.travis.yml +2 -4
  4. data/CHANGELOG.md +252 -75
  5. data/Gemfile +5 -3
  6. data/README.md +4 -0
  7. data/Rakefile +2 -0
  8. data/lib/generators/link_thumbnailer/install_generator.rb +2 -0
  9. data/lib/generators/templates/initializer.rb +15 -0
  10. data/lib/link_thumbnailer.rb +2 -0
  11. data/lib/link_thumbnailer/configuration.rb +74 -68
  12. data/lib/link_thumbnailer/exceptions.rb +3 -0
  13. data/lib/link_thumbnailer/grader.rb +2 -0
  14. data/lib/link_thumbnailer/graders/base.rb +2 -0
  15. data/lib/link_thumbnailer/graders/html_attribute.rb +2 -0
  16. data/lib/link_thumbnailer/graders/length.rb +2 -0
  17. data/lib/link_thumbnailer/graders/link_density.rb +2 -0
  18. data/lib/link_thumbnailer/graders/position.rb +2 -0
  19. data/lib/link_thumbnailer/image_comparator.rb +2 -0
  20. data/lib/link_thumbnailer/image_comparators/base.rb +2 -0
  21. data/lib/link_thumbnailer/image_comparators/size.rb +2 -0
  22. data/lib/link_thumbnailer/image_parser.rb +13 -1
  23. data/lib/link_thumbnailer/image_validator.rb +2 -0
  24. data/lib/link_thumbnailer/model.rb +20 -17
  25. data/lib/link_thumbnailer/models/description.rb +2 -0
  26. data/lib/link_thumbnailer/models/favicon.rb +2 -0
  27. data/lib/link_thumbnailer/models/image.rb +56 -54
  28. data/lib/link_thumbnailer/models/title.rb +2 -0
  29. data/lib/link_thumbnailer/models/video.rb +2 -0
  30. data/lib/link_thumbnailer/models/website.rb +54 -52
  31. data/lib/link_thumbnailer/page.rb +4 -1
  32. data/lib/link_thumbnailer/parser.rb +3 -1
  33. data/lib/link_thumbnailer/processor.rb +38 -5
  34. data/lib/link_thumbnailer/railtie.rb +2 -0
  35. data/lib/link_thumbnailer/response.rb +39 -0
  36. data/lib/link_thumbnailer/scraper.rb +62 -60
  37. data/lib/link_thumbnailer/scrapers/base.rb +69 -67
  38. data/lib/link_thumbnailer/scrapers/default/base.rb +2 -0
  39. data/lib/link_thumbnailer/scrapers/default/description.rb +2 -0
  40. data/lib/link_thumbnailer/scrapers/default/favicon.rb +16 -2
  41. data/lib/link_thumbnailer/scrapers/default/images.rb +5 -1
  42. data/lib/link_thumbnailer/scrapers/default/title.rb +2 -0
  43. data/lib/link_thumbnailer/scrapers/default/videos.rb +2 -0
  44. data/lib/link_thumbnailer/scrapers/opengraph/base.rb +2 -0
  45. data/lib/link_thumbnailer/scrapers/opengraph/description.rb +2 -0
  46. data/lib/link_thumbnailer/scrapers/opengraph/favicon.rb +2 -0
  47. data/lib/link_thumbnailer/scrapers/opengraph/image.rb +7 -1
  48. data/lib/link_thumbnailer/scrapers/opengraph/images.rb +2 -0
  49. data/lib/link_thumbnailer/scrapers/opengraph/title.rb +2 -0
  50. data/lib/link_thumbnailer/scrapers/opengraph/video.rb +2 -0
  51. data/lib/link_thumbnailer/scrapers/opengraph/videos.rb +2 -0
  52. data/lib/link_thumbnailer/uri.rb +20 -0
  53. data/lib/link_thumbnailer/version.rb +3 -1
  54. data/lib/link_thumbnailer/video_parser.rb +3 -1
  55. data/link_thumbnailer.gemspec +8 -6
  56. data/spec/configuration_spec.rb +4 -2
  57. data/spec/fixture_spec.rb +21 -0
  58. data/spec/fixtures/default_with_few_favicons.html +15 -0
  59. data/spec/fixtures/google_shift_jis.html +6 -0
  60. data/spec/fixtures/google_utf8.html +6 -0
  61. data/spec/fixtures/google_utf8_no_meta_charset.html +6 -0
  62. data/spec/fixtures/with_related_path_in_href.html +13 -0
  63. data/spec/fixtures/with_root_path_in_href.html +13 -0
  64. data/spec/grader_spec.rb +3 -1
  65. data/spec/graders/base_spec.rb +2 -0
  66. data/spec/graders/html_attribute_spec.rb +9 -7
  67. data/spec/graders/length_spec.rb +10 -6
  68. data/spec/graders/link_density_spec.rb +4 -2
  69. data/spec/graders/position_spec.rb +8 -6
  70. data/spec/image_comparators/size_spec.rb +2 -0
  71. data/spec/image_validator_spec.rb +3 -1
  72. data/spec/model_spec.rb +2 -0
  73. data/spec/models/description_spec.rb +3 -1
  74. data/spec/models/favicon_spec.rb +2 -0
  75. data/spec/models/image_spec.rb +6 -4
  76. data/spec/models/title_spec.rb +2 -0
  77. data/spec/models/video_spec.rb +7 -5
  78. data/spec/models/website_spec.rb +5 -3
  79. data/spec/page_spec.rb +2 -0
  80. data/spec/processor_spec.rb +74 -23
  81. data/spec/response_spec.rb +84 -0
  82. data/spec/scraper_spec.rb +6 -4
  83. data/spec/scrapers/base_spec.rb +6 -4
  84. data/spec/scrapers/opengraph/base_spec.rb +8 -6
  85. data/spec/spec_helper.rb +2 -0
  86. data/spec/uri_spec.rb +44 -0
  87. data/spec/video_parser_spec.rb +15 -13
  88. metadata +37 -19
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe LinkThumbnailer::Scraper do
@@ -9,8 +11,8 @@ describe LinkThumbnailer::Scraper do
9
11
  let(:instance) { described_class.new(source, url) }
10
12
 
11
13
  before do
12
- instance.stub(:document).and_return(document)
13
- instance.stub(:website).and_return(website)
14
+ allow(instance).to receive(:document).and_return(document)
15
+ allow(instance).to receive(:website).and_return(website)
14
16
  end
15
17
 
16
18
  describe '#call' do
@@ -22,10 +24,10 @@ describe LinkThumbnailer::Scraper do
22
24
  let(:attributes) { [:bar] }
23
25
  let(:scrapers) { [prefix_1, prefix_2] }
24
26
  let(:action) { instance.call }
27
+ let(:config) { double(attributes: attributes, scrapers: scrapers) }
25
28
 
26
29
  before do
27
- instance.stub_chain(:config, :attributes).and_return(attributes)
28
- instance.stub_chain(:config, :scrapers).and_return(scrapers)
30
+ allow(instance).to receive(:config).and_return(config)
29
31
  end
30
32
 
31
33
  context 'when first one return a result' do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe LinkThumbnailer::Scrapers::Base do
@@ -13,7 +15,7 @@ describe LinkThumbnailer::Scrapers::Base do
13
15
  let(:action) { instance.call(attr) }
14
16
 
15
17
  before do
16
- instance.stub(:value).and_return(value)
18
+ allow(instance).to receive(:value).and_return(value)
17
19
  end
18
20
 
19
21
  it { expect { action }.to change { website.title }.from(nil).to(value) }
@@ -25,7 +27,7 @@ describe LinkThumbnailer::Scrapers::Base do
25
27
  let(:action) { instance.send(:model_class) }
26
28
 
27
29
  before do
28
- instance.stub(:attribute_name).and_return(attr)
30
+ allow(instance).to receive(:attribute_name).and_return(attr)
29
31
  end
30
32
 
31
33
  context 'when internal class exists' do
@@ -40,7 +42,7 @@ describe LinkThumbnailer::Scrapers::Base do
40
42
 
41
43
  let(:attr) { :foo }
42
44
 
43
- it { expect { action }.to raise_exception }
45
+ it { expect { action }.to raise_error(NameError) }
44
46
 
45
47
  end
46
48
 
@@ -54,7 +56,7 @@ describe LinkThumbnailer::Scrapers::Base do
54
56
  let(:action) { instance.send(:modelize, node, text) }
55
57
 
56
58
  before do
57
- instance.stub(:model_class).and_return(model_class)
59
+ allow(instance).to receive(:model_class).and_return(model_class)
58
60
  end
59
61
 
60
62
  it 'instantiates a new model' do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe LinkThumbnailer::Scrapers::Opengraph::Base do
@@ -12,13 +14,13 @@ describe LinkThumbnailer::Scrapers::Opengraph::Base do
12
14
  let(:action) { instance.applicable? }
13
15
 
14
16
  before do
15
- instance.stub(:meta).and_return(meta)
17
+ allow(instance).to receive(:meta).and_return(meta)
16
18
  end
17
19
 
18
20
  context 'when all node is an opengraph' do
19
21
 
20
22
  before do
21
- instance.stub(:opengraph_node?).and_return(true, true)
23
+ allow(instance).to receive(:opengraph_node?).and_return(true, true)
22
24
  end
23
25
 
24
26
  it { expect(action).to be_truthy }
@@ -28,7 +30,7 @@ describe LinkThumbnailer::Scrapers::Opengraph::Base do
28
30
  context 'when any node is an opengraph' do
29
31
 
30
32
  before do
31
- instance.stub(:opengraph_node?).and_return(true, false)
33
+ allow(instance).to receive(:opengraph_node?).and_return(true, false)
32
34
  end
33
35
 
34
36
  it { expect(action).to be_truthy }
@@ -38,7 +40,7 @@ describe LinkThumbnailer::Scrapers::Opengraph::Base do
38
40
  context 'when no node is an opengraph' do
39
41
 
40
42
  before do
41
- instance.stub(:opengraph_node?).and_return(false, false)
43
+ allow(instance).to receive(:opengraph_node?).and_return(false, false)
42
44
  end
43
45
 
44
46
  it { expect(action).to be_falsey }
@@ -52,7 +54,7 @@ describe LinkThumbnailer::Scrapers::Opengraph::Base do
52
54
  let(:action) { instance.send(:opengraph_node?, node) }
53
55
 
54
56
  before do
55
- node.stub(:attribute).with('name').and_return(attribute_from_name)
57
+ allow(node).to receive(:attribute).with('name').and_return(attribute_from_name)
56
58
  end
57
59
 
58
60
  context 'with attribute from name valid' do
@@ -68,7 +70,7 @@ describe LinkThumbnailer::Scrapers::Opengraph::Base do
68
70
  let(:attribute_from_name) { 'foo' }
69
71
 
70
72
  before do
71
- node.stub(:attribute).with('property').and_return(attribute_from_property)
73
+ allow(node).to receive(:attribute).with('property').and_return(attribute_from_property)
72
74
  end
73
75
 
74
76
  context 'and attribute from property valid' do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'link_thumbnailer'
2
4
  require 'rspec'
3
5
  require 'webmock/rspec'
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe LinkThumbnailer::URI do
6
+
7
+ let(:uri) { 'http://foo.com' }
8
+ let(:instance) { described_class.new(uri) }
9
+
10
+ describe '#valid?' do
11
+
12
+ let(:action) { instance.send(:valid?) }
13
+
14
+ context 'when bad format' do
15
+
16
+ before do
17
+ allow(instance).to receive(:attribute).and_return("/invalid/path")
18
+ end
19
+
20
+ it { expect(action).to be_falsey }
21
+
22
+ end
23
+
24
+ context 'when valid format' do
25
+
26
+ before do
27
+ allow(instance).to receive(:attribute).and_return("http://foo.com")
28
+ end
29
+
30
+ it { expect(action).to be_truthy }
31
+
32
+ end
33
+
34
+ end
35
+
36
+ describe '#to_s' do
37
+
38
+ let(:action) { instance.to_s }
39
+
40
+ it { expect(action).to eq(uri) }
41
+
42
+ end
43
+
44
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe LinkThumbnailer::VideoParser do
@@ -8,7 +10,7 @@ describe LinkThumbnailer::VideoParser do
8
10
  let(:instance) { described_class.new(video) }
9
11
 
10
12
  before do
11
- instance.stub(:parser).and_return(parser)
13
+ allow(instance).to receive(:parser).and_return(parser)
12
14
  end
13
15
 
14
16
  describe '#id' do
@@ -18,7 +20,7 @@ describe LinkThumbnailer::VideoParser do
18
20
  context 'when respond to video_id' do
19
21
 
20
22
  before do
21
- parser.stub(:video_id).and_return(1)
23
+ allow(parser).to receive(:video_id).and_return(1)
22
24
  end
23
25
 
24
26
  it { expect(action).to eq(parser.video_id) }
@@ -28,7 +30,7 @@ describe LinkThumbnailer::VideoParser do
28
30
  context 'when do not respond to video_id' do
29
31
 
30
32
  before do
31
- parser.stub(:video_id).and_raise(NoMethodError)
33
+ allow(parser).to receive(:video_id).and_raise(NoMethodError)
32
34
  end
33
35
 
34
36
  it { expect(action).to be_nil }
@@ -44,8 +46,8 @@ describe LinkThumbnailer::VideoParser do
44
46
  context 'when respond to width and height' do
45
47
 
46
48
  before do
47
- parser.stub(:width).and_return(1)
48
- parser.stub(:height).and_return(1)
49
+ allow(parser).to receive(:width).and_return(1)
50
+ allow(parser).to receive(:height).and_return(1)
49
51
  end
50
52
 
51
53
  it { expect(action).to eq([parser.width, parser.height]) }
@@ -55,8 +57,8 @@ describe LinkThumbnailer::VideoParser do
55
57
  context 'when do not respond to width and height' do
56
58
 
57
59
  before do
58
- parser.stub(:width).and_raise(NoMethodError)
59
- parser.stub(:height).and_raise(NoMethodError)
60
+ allow(parser).to receive(:width).and_raise(NoMethodError)
61
+ allow(parser).to receive(:height).and_raise(NoMethodError)
60
62
  end
61
63
 
62
64
  it { expect(action).to be_empty }
@@ -72,7 +74,7 @@ describe LinkThumbnailer::VideoParser do
72
74
  context 'when respond to duration' do
73
75
 
74
76
  before do
75
- parser.stub(:duration).and_return(1)
77
+ allow(parser).to receive(:duration).and_return(1)
76
78
  end
77
79
 
78
80
  it { expect(action).to eq(parser.duration) }
@@ -82,7 +84,7 @@ describe LinkThumbnailer::VideoParser do
82
84
  context 'when do not respond to duration' do
83
85
 
84
86
  before do
85
- parser.stub(:duration).and_raise(NoMethodError)
87
+ allow(parser).to receive(:duration).and_raise(NoMethodError)
86
88
  end
87
89
 
88
90
  it { expect(action).to be_nil }
@@ -98,7 +100,7 @@ describe LinkThumbnailer::VideoParser do
98
100
  context 'when respond to provider' do
99
101
 
100
102
  before do
101
- parser.stub(:provider).and_return(1)
103
+ allow(parser).to receive(:provider).and_return(1)
102
104
  end
103
105
 
104
106
  it { expect(action).to eq(parser.provider) }
@@ -108,7 +110,7 @@ describe LinkThumbnailer::VideoParser do
108
110
  context 'when do not respond to provider' do
109
111
 
110
112
  before do
111
- parser.stub(:provider).and_raise(NoMethodError)
113
+ allow(parser).to receive(:provider).and_raise(NoMethodError)
112
114
  end
113
115
 
114
116
  it { expect(action).to be_nil }
@@ -124,7 +126,7 @@ describe LinkThumbnailer::VideoParser do
124
126
  context 'when respond to embed_code' do
125
127
 
126
128
  before do
127
- parser.stub(:embed_code).and_return('')
129
+ allow(parser).to receive(:embed_code).and_return('')
128
130
  end
129
131
 
130
132
  it { expect(action).to eq(parser.embed_code) }
@@ -134,7 +136,7 @@ describe LinkThumbnailer::VideoParser do
134
136
  context 'when do not respond to embed_code' do
135
137
 
136
138
  before do
137
- parser.stub(:embed_code).and_raise(NoMethodError)
139
+ allow(parser).to receive(:embed_code).and_raise(NoMethodError)
138
140
  end
139
141
 
140
142
  it { expect(action).to be_nil }
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.2.0
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pierre-Louis Gottfrois
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-15 00:00:00.000000000 Z
11
+ date: 2020-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -31,9 +31,6 @@ dependencies:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.7.7
34
- - - "~>"
35
- - !ruby/object:Gem::Version
36
- version: '1.8'
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
@@ -41,9 +38,6 @@ dependencies:
41
38
  - - ">="
42
39
  - !ruby/object:Gem::Version
43
40
  version: 1.7.7
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: '1.8'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: rake
49
43
  requirement: !ruby/object:Gem::Requirement
@@ -62,42 +56,42 @@ dependencies:
62
56
  name: nokogiri
63
57
  requirement: !ruby/object:Gem::Requirement
64
58
  requirements:
65
- - - "~>"
59
+ - - ">="
66
60
  - !ruby/object:Gem::Version
67
61
  version: '1.6'
68
62
  type: :runtime
69
63
  prerelease: false
70
64
  version_requirements: !ruby/object:Gem::Requirement
71
65
  requirements:
72
- - - "~>"
66
+ - - ">="
73
67
  - !ruby/object:Gem::Version
74
68
  version: '1.6'
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: net-http-persistent
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
- - - "~>"
73
+ - - ">="
80
74
  - !ruby/object:Gem::Version
81
75
  version: '2.9'
82
76
  type: :runtime
83
77
  prerelease: false
84
78
  version_requirements: !ruby/object:Gem::Requirement
85
79
  requirements:
86
- - - "~>"
80
+ - - ">="
87
81
  - !ruby/object:Gem::Version
88
82
  version: '2.9'
89
83
  - !ruby/object:Gem::Dependency
90
84
  name: video_info
91
85
  requirement: !ruby/object:Gem::Requirement
92
86
  requirements:
93
- - - "~>"
87
+ - - ">="
94
88
  - !ruby/object:Gem::Version
95
89
  version: '2.6'
96
90
  type: :runtime
97
91
  prerelease: false
98
92
  version_requirements: !ruby/object:Gem::Requirement
99
93
  requirements:
100
- - - "~>"
94
+ - - ">="
101
95
  - !ruby/object:Gem::Version
102
96
  version: '2.6'
103
97
  - !ruby/object:Gem::Dependency
@@ -107,6 +101,9 @@ dependencies:
107
101
  - - "~>"
108
102
  - !ruby/object:Gem::Version
109
103
  version: '1.0'
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: 1.2.0
110
107
  type: :runtime
111
108
  prerelease: false
112
109
  version_requirements: !ruby/object:Gem::Requirement
@@ -114,6 +111,9 @@ dependencies:
114
111
  - - "~>"
115
112
  - !ruby/object:Gem::Version
116
113
  version: '1.0'
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 1.2.0
117
117
  description: Ruby gem generating thumbnail images from a given URL.
118
118
  email:
119
119
  - pierrelouis.gottfrois@gmail.com
@@ -123,6 +123,7 @@ extra_rdoc_files: []
123
123
  files:
124
124
  - ".gitignore"
125
125
  - ".rspec"
126
+ - ".ruby-version"
126
127
  - ".travis.yml"
127
128
  - CHANGELOG.md
128
129
  - Gemfile
@@ -156,6 +157,7 @@ files:
156
157
  - lib/link_thumbnailer/parser.rb
157
158
  - lib/link_thumbnailer/processor.rb
158
159
  - lib/link_thumbnailer/railtie.rb
160
+ - lib/link_thumbnailer/response.rb
159
161
  - lib/link_thumbnailer/scraper.rb
160
162
  - lib/link_thumbnailer/scrapers/base.rb
161
163
  - lib/link_thumbnailer/scrapers/default/base.rb
@@ -172,6 +174,7 @@ files:
172
174
  - lib/link_thumbnailer/scrapers/opengraph/title.rb
173
175
  - lib/link_thumbnailer/scrapers/opengraph/video.rb
174
176
  - lib/link_thumbnailer/scrapers/opengraph/videos.rb
177
+ - lib/link_thumbnailer/uri.rb
175
178
  - lib/link_thumbnailer/version.rb
176
179
  - lib/link_thumbnailer/video_parser.rb
177
180
  - link_thumbnailer.gemspec
@@ -180,11 +183,17 @@ files:
180
183
  - spec/fixtures/bar.png
181
184
  - spec/fixtures/default_from_body.html
182
185
  - spec/fixtures/default_from_meta.html
186
+ - spec/fixtures/default_with_few_favicons.html
183
187
  - spec/fixtures/foo.png
188
+ - spec/fixtures/google_shift_jis.html
189
+ - spec/fixtures/google_utf8.html
190
+ - spec/fixtures/google_utf8_no_meta_charset.html
184
191
  - spec/fixtures/og_not_valid_example.html
185
192
  - spec/fixtures/og_valid_example.html
186
193
  - spec/fixtures/og_valid_multi_image_example.html
187
194
  - spec/fixtures/og_valid_multi_video_example.html
195
+ - spec/fixtures/with_related_path_in_href.html
196
+ - spec/fixtures/with_root_path_in_href.html
188
197
  - spec/grader_spec.rb
189
198
  - spec/graders/base_spec.rb
190
199
  - spec/graders/html_attribute_spec.rb
@@ -202,15 +211,17 @@ files:
202
211
  - spec/models/website_spec.rb
203
212
  - spec/page_spec.rb
204
213
  - spec/processor_spec.rb
214
+ - spec/response_spec.rb
205
215
  - spec/scraper_spec.rb
206
216
  - spec/scrapers/base_spec.rb
207
217
  - spec/scrapers/opengraph/base_spec.rb
208
218
  - spec/spec_helper.rb
219
+ - spec/uri_spec.rb
209
220
  - spec/video_parser_spec.rb
210
221
  homepage: https://github.com/gottfrois/link_thumbnailer
211
222
  licenses: []
212
223
  metadata: {}
213
- post_install_message:
224
+ post_install_message:
214
225
  rdoc_options: []
215
226
  require_paths:
216
227
  - lib
@@ -225,9 +236,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
236
  - !ruby/object:Gem::Version
226
237
  version: '0'
227
238
  requirements: []
228
- rubyforge_project:
229
- rubygems_version: 2.5.1
230
- signing_key:
239
+ rubygems_version: 3.0.8
240
+ signing_key:
231
241
  specification_version: 4
232
242
  summary: Ruby gem ranking images from a given URL returning an object containing images
233
243
  and website informations.
@@ -237,11 +247,17 @@ test_files:
237
247
  - spec/fixtures/bar.png
238
248
  - spec/fixtures/default_from_body.html
239
249
  - spec/fixtures/default_from_meta.html
250
+ - spec/fixtures/default_with_few_favicons.html
240
251
  - spec/fixtures/foo.png
252
+ - spec/fixtures/google_shift_jis.html
253
+ - spec/fixtures/google_utf8.html
254
+ - spec/fixtures/google_utf8_no_meta_charset.html
241
255
  - spec/fixtures/og_not_valid_example.html
242
256
  - spec/fixtures/og_valid_example.html
243
257
  - spec/fixtures/og_valid_multi_image_example.html
244
258
  - spec/fixtures/og_valid_multi_video_example.html
259
+ - spec/fixtures/with_related_path_in_href.html
260
+ - spec/fixtures/with_root_path_in_href.html
245
261
  - spec/grader_spec.rb
246
262
  - spec/graders/base_spec.rb
247
263
  - spec/graders/html_attribute_spec.rb
@@ -259,8 +275,10 @@ test_files:
259
275
  - spec/models/website_spec.rb
260
276
  - spec/page_spec.rb
261
277
  - spec/processor_spec.rb
278
+ - spec/response_spec.rb
262
279
  - spec/scraper_spec.rb
263
280
  - spec/scrapers/base_spec.rb
264
281
  - spec/scrapers/opengraph/base_spec.rb
265
282
  - spec/spec_helper.rb
283
+ - spec/uri_spec.rb
266
284
  - spec/video_parser_spec.rb