embedify 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/embedify.gemspec +3 -3
  3. data/lib/embedify.rb +8 -6
  4. metadata +28 -88
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.0
1
+ 0.6.0
data/embedify.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "embedify"
8
- s.version = "0.5.0"
8
+ s.version = "0.6.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Tristan Gomez"]
12
- s.date = "2012-04-18"
12
+ s.date = "2012-05-14"
13
13
  s.description = "Embedify is a ruby gem that parses and returns an\n embeddable version of a page, similar to how Facebook fetches and retrieves\n page data when posting a link."
14
14
  s.email = "tristan.gomez+embedify@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -39,7 +39,7 @@ Gem::Specification.new do |s|
39
39
  s.homepage = "http://github.com/parasquid/embedify"
40
40
  s.licenses = ["LGPLv3"]
41
41
  s.require_paths = ["lib"]
42
- s.rubygems_version = "1.8.22"
42
+ s.rubygems_version = "1.8.15"
43
43
  s.summary = "parses and returns an embeddable version of a page"
44
44
 
45
45
  if s.respond_to? :specification_version then
data/lib/embedify.rb CHANGED
@@ -39,7 +39,6 @@ module Embedify
39
39
 
40
40
  def self.get_with_redirects(uri, iterations = 0)
41
41
  html = Faraday.get(uri)
42
- #raise html.env[:response_headers]['Location']
43
42
  #puts "#{iterations.inspect} #{html.env[:response_headers]['Location']}"
44
43
  case html.status
45
44
  when 301..307
@@ -61,8 +60,11 @@ module Embedify
61
60
  end
62
61
 
63
62
  # transform the og:image tag into an array
64
- page.image = [url: page.image] unless(page.image.nil? || page.image.respond_to?(:each))
65
-
63
+ unless page.image.nil? || page.image.respond_to?(:each)
64
+ page.image = make_absolute(page.image, page.url || html.env[:url].to_s)
65
+ dimensions = FastImage.size(page.image)
66
+ page.image = [url: page.image, width: dimensions[0], height: dimensions[1]]
67
+ end
66
68
  page[:nokogiri_parsed_document] = doc
67
69
  page
68
70
  end
@@ -93,15 +95,15 @@ module Embedify
93
95
  img_srcs.each do |img_src|
94
96
  dimensions = FastImage.size(img_src)
95
97
  #puts "#{img_src} #{dimensions.to_s}"
96
- document.image.add(url: img_src) if image_is_big_enough?(dimensions) && image_has_good_proportions?(dimensions)
98
+ document.image.add(url: img_src, width: dimensions[0], height: dimensions[1]) if image_is_big_enough?(dimensions) && image_has_good_proportions?(dimensions)
97
99
  img_src_count = img_src_count + 1
98
100
  return if(img_src_count > 10)
99
101
  end
100
102
  end
101
103
  end
102
104
 
103
- def self.make_absolute( href, root )
104
- URI.parse(root).merge(URI.parse(href)).to_s
105
+ def self.make_absolute(href, root)
106
+ Addressable::URI.parse(root).merge(Addressable::URI.parse(href)).to_s
105
107
  end
106
108
 
107
109
  def self.image_is_big_enough?(dimensions)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embedify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-18 00:00:00.000000000 Z
12
+ date: 2012-05-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &71557690 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: 1.5.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: 1.5.0
24
+ version_requirements: *71557690
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: hashie
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &71555970 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ! '>='
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: '0'
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
35
+ version_requirements: *71555970
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: faraday
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &71555080 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ! '>='
@@ -53,15 +43,10 @@ dependencies:
53
43
  version: '0'
54
44
  type: :runtime
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
46
+ version_requirements: *71555080
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: faraday_middleware
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &71554590 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ! '>='
@@ -69,15 +54,10 @@ dependencies:
69
54
  version: '0'
70
55
  type: :runtime
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: '0'
57
+ version_requirements: *71554590
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: hashie
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &71553910 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ! '>='
@@ -85,15 +65,10 @@ dependencies:
85
65
  version: '0'
86
66
  type: :runtime
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
68
+ version_requirements: *71553910
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: addressable
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &71553380 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
74
  - - ! '>='
@@ -101,15 +76,10 @@ dependencies:
101
76
  version: '0'
102
77
  type: :runtime
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
79
+ version_requirements: *71553380
110
80
  - !ruby/object:Gem::Dependency
111
81
  name: fastimage
112
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &71720800 !ruby/object:Gem::Requirement
113
83
  none: false
114
84
  requirements:
115
85
  - - ! '>='
@@ -117,15 +87,10 @@ dependencies:
117
87
  version: '0'
118
88
  type: :runtime
119
89
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '0'
90
+ version_requirements: *71720800
126
91
  - !ruby/object:Gem::Dependency
127
92
  name: shoulda
128
- requirement: !ruby/object:Gem::Requirement
93
+ requirement: &71720260 !ruby/object:Gem::Requirement
129
94
  none: false
130
95
  requirements:
131
96
  - - ! '>='
@@ -133,15 +98,10 @@ dependencies:
133
98
  version: '0'
134
99
  type: :development
135
100
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
101
+ version_requirements: *71720260
142
102
  - !ruby/object:Gem::Dependency
143
103
  name: rdoc
144
- requirement: !ruby/object:Gem::Requirement
104
+ requirement: &71719790 !ruby/object:Gem::Requirement
145
105
  none: false
146
106
  requirements:
147
107
  - - ~>
@@ -149,15 +109,10 @@ dependencies:
149
109
  version: '3.12'
150
110
  type: :development
151
111
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ~>
156
- - !ruby/object:Gem::Version
157
- version: '3.12'
112
+ version_requirements: *71719790
158
113
  - !ruby/object:Gem::Dependency
159
114
  name: bundler
160
- requirement: !ruby/object:Gem::Requirement
115
+ requirement: &71719400 !ruby/object:Gem::Requirement
161
116
  none: false
162
117
  requirements:
163
118
  - - ! '>='
@@ -165,15 +120,10 @@ dependencies:
165
120
  version: '0'
166
121
  type: :development
167
122
  prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ! '>='
172
- - !ruby/object:Gem::Version
173
- version: '0'
123
+ version_requirements: *71719400
174
124
  - !ruby/object:Gem::Dependency
175
125
  name: jeweler
176
- requirement: !ruby/object:Gem::Requirement
126
+ requirement: &71718950 !ruby/object:Gem::Requirement
177
127
  none: false
178
128
  requirements:
179
129
  - - ! '>='
@@ -181,15 +131,10 @@ dependencies:
181
131
  version: '0'
182
132
  type: :development
183
133
  prerelease: false
184
- version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
- requirements:
187
- - - ! '>='
188
- - !ruby/object:Gem::Version
189
- version: '0'
134
+ version_requirements: *71718950
190
135
  - !ruby/object:Gem::Dependency
191
136
  name: rspec
192
- requirement: !ruby/object:Gem::Requirement
137
+ requirement: &71718490 !ruby/object:Gem::Requirement
193
138
  none: false
194
139
  requirements:
195
140
  - - ! '>='
@@ -197,12 +142,7 @@ dependencies:
197
142
  version: '0'
198
143
  type: :development
199
144
  prerelease: false
200
- version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
- requirements:
203
- - - ! '>='
204
- - !ruby/object:Gem::Version
205
- version: '0'
145
+ version_requirements: *71718490
206
146
  description: ! "Embedify is a ruby gem that parses and returns an\n embeddable
207
147
  version of a page, similar to how Facebook fetches and retrieves\n page data
208
148
  when posting a link."
@@ -246,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
246
186
  version: '0'
247
187
  segments:
248
188
  - 0
249
- hash: 2781018951594904065
189
+ hash: 316289185
250
190
  required_rubygems_version: !ruby/object:Gem::Requirement
251
191
  none: false
252
192
  requirements:
@@ -255,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
255
195
  version: '0'
256
196
  requirements: []
257
197
  rubyforge_project:
258
- rubygems_version: 1.8.22
198
+ rubygems_version: 1.8.15
259
199
  signing_key:
260
200
  specification_version: 3
261
201
  summary: parses and returns an embeddable version of a page