link_thumbnailer 0.0.1 → 0.0.2

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/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --colour
2
+ --format=nested
data/Rakefile CHANGED
@@ -1,2 +1,4 @@
1
1
  #!/usr/bin/env rake
2
2
  require "bundler/gem_tasks"
3
+ require "rspec/core/rake_task"
4
+ RSpec::Core::RakeTask.new('spec')
@@ -1,7 +1,3 @@
1
- # require 'json'
2
- # require 'nokogiri'
3
- # require 'link_thumbnailer/parser/opengraph'
4
-
5
1
  require 'link_thumbnailer/object'
6
2
  require 'link_thumbnailer/fetcher'
7
3
  require 'link_thumbnailer/doc_parser'
@@ -16,7 +16,7 @@ module LinkThumbnailer
16
16
 
17
17
  def valid?
18
18
  return false if self.keys.empty?
19
- LinkThumbnailer.mandatory_attributes.each {|a| return false unless self[a] } if LinkThumbnailer.strict
19
+ LinkThumbnailer.mandatory_attributes.each {|a| return false if self[a].blank? } if LinkThumbnailer.strict
20
20
  true
21
21
  end
22
22
 
@@ -1,3 +1,3 @@
1
1
  module LinkThumbnailer
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -15,8 +15,10 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = LinkThumbnailer::VERSION
17
17
 
18
- gem.add_dependency(%q{nokogiri}, ['~> 1.4.0'])
18
+ gem.add_dependency(%q{nokogiri}, ['~> 1.5.5'])
19
19
  gem.add_dependency(%q{hashie}, ['~> 1.2.0'])
20
- gem.add_dependency(%q{net-http-persistent}, ['> 0'])
21
- gem.add_dependency(%q{rmagick}, ['> 0'])
20
+ gem.add_dependency(%q{net-http-persistent}, ['~> 2.7'])
21
+ gem.add_dependency(%q{rmagick}, ['~> 2.13.1'])
22
+
23
+ gem.add_dependency(%q{rspec}, ['~> 2.11.0'])
22
24
  end
@@ -0,0 +1,103 @@
1
+ require 'spec_helper'
2
+
3
+ describe LinkThumbnailer do
4
+
5
+ it { should respond_to :configure }
6
+ it { should respond_to :generate }
7
+
8
+ it { should respond_to :mandatory_attributes }
9
+ it { should respond_to :strict }
10
+ it { should respond_to :redirect_limit }
11
+ it { should respond_to :blacklist_urls }
12
+ it { should respond_to :max }
13
+ it { should respond_to :top }
14
+
15
+ context "default values" do
16
+
17
+ context ".mandatory_attributes" do
18
+
19
+ specify { LinkThumbnailer.mandatory_attributes.should eq(%w(url title images)) }
20
+
21
+ end
22
+
23
+ context ".strict" do
24
+
25
+ specify { LinkThumbnailer.strict.should be_true }
26
+
27
+ end
28
+
29
+ context ".redirect_limit" do
30
+
31
+ specify { LinkThumbnailer.redirect_limit.should eq(3) }
32
+
33
+ end
34
+
35
+ context ".blacklist_urls" do
36
+
37
+ specify { LinkThumbnailer.blacklist_urls.should eq([
38
+ %r{^http://ad\.doubleclick\.net/},
39
+ %r{^http://b\.scorecardresearch\.com/},
40
+ %r{^http://pixel\.quantserve\.com/},
41
+ %r{^http://s7\.addthis\.com/}
42
+ ]) }
43
+
44
+ end
45
+
46
+ context ".max" do
47
+
48
+ specify { LinkThumbnailer.max.should eq(10) }
49
+
50
+ end
51
+
52
+ context ".top" do
53
+
54
+ specify { LinkThumbnailer.top.should eq(5) }
55
+
56
+ end
57
+
58
+ end
59
+
60
+ context ".configure" do
61
+
62
+ it "should yields self" do
63
+ LinkThumbnailer.should_receive(:configure).and_yield(LinkThumbnailer)
64
+ LinkThumbnailer.configure {|config|}
65
+ end
66
+
67
+ context "attributes" do
68
+
69
+ before do
70
+ LinkThumbnailer.configure {|config|
71
+ config.mandatory_attributes = %w(foo bar)
72
+ config.strict = false
73
+ config.redirect_limit = 5
74
+ config.blacklist_urls = []
75
+ config.max = 5
76
+ config.top = 10
77
+ }
78
+ end
79
+
80
+ specify { LinkThumbnailer.mandatory_attributes.should eq(%w(foo bar)) }
81
+ specify { LinkThumbnailer.strict.should be_false }
82
+ specify { LinkThumbnailer.redirect_limit.should eq(5) }
83
+ specify { LinkThumbnailer.blacklist_urls.should eq([]) }
84
+ specify { LinkThumbnailer.max.should eq(5) }
85
+ specify { LinkThumbnailer.top.should eq(10) }
86
+
87
+ end
88
+
89
+ end
90
+
91
+ context ".generate" do
92
+
93
+ context "with invalid arguments" do
94
+
95
+ it "should return nil" do
96
+ LinkThumbnailer.generate('foo').should be_nil
97
+ end
98
+
99
+ end
100
+
101
+ end
102
+
103
+ end
@@ -0,0 +1,7 @@
1
+ require 'rails'
2
+ require 'rspec'
3
+ require 'link_thumbnailer'
4
+
5
+ RSpec.configure do |config|
6
+
7
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: link_thumbnailer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.4.0
21
+ version: 1.5.5
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 1.4.0
29
+ version: 1.5.5
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: hashie
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -48,33 +48,49 @@ dependencies:
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ! '>'
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: '0'
53
+ version: '2.7'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - ! '>'
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '2.7'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: rmagick
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - ! '>'
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: '0'
69
+ version: 2.13.1
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ! '>'
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.13.1
78
+ - !ruby/object:Gem::Dependency
79
+ name: rspec
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 2.11.0
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
76
92
  - !ruby/object:Gem::Version
77
- version: '0'
93
+ version: 2.11.0
78
94
  description: Ruby gem generating thumbnail images from a given URL.
79
95
  email:
80
96
  - pierrelouis.gottfrois@gmail.com
@@ -83,6 +99,7 @@ extensions: []
83
99
  extra_rdoc_files: []
84
100
  files:
85
101
  - .gitignore
102
+ - .rspec
86
103
  - Gemfile
87
104
  - LICENSE
88
105
  - README.md
@@ -101,6 +118,8 @@ files:
101
118
  - lib/link_thumbnailer/version.rb
102
119
  - lib/link_thumbnailer/web_image.rb
103
120
  - link_thumbnailer.gemspec
121
+ - spec/link_thumbnailer_spec.rb
122
+ - spec/spec_helper.rb
104
123
  homepage: https://github.com/gottfrois/link_thumbnailer
105
124
  licenses: []
106
125
  post_install_message:
@@ -126,4 +145,6 @@ signing_key:
126
145
  specification_version: 3
127
146
  summary: Ruby gem ranking images from a given URL returning an object containing images
128
147
  and website informations.
129
- test_files: []
148
+ test_files:
149
+ - spec/link_thumbnailer_spec.rb
150
+ - spec/spec_helper.rb