link_thumbnailer 0.0.1 → 0.0.2

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