embedify 0.5.0 → 0.6.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 (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