link_thumbnailer 3.2.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
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