embedify 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm 1.9.3@embedify
1
+ rvm 1.9.3@embedify --create
data/Gemfile CHANGED
@@ -9,9 +9,12 @@ group :development do
9
9
  gem "shoulda", ">= 0"
10
10
  gem "rdoc", "~> 3.12"
11
11
  gem "bundler", "~> 1.0.0"
12
- gem "jeweler", "~> 1.8.3"
12
+ gem "jeweler"
13
13
  gem 'rspec'
14
14
  end
15
15
 
16
16
  gem 'nokogiri', '~> 1.5.0'
17
+ gem 'hashie'
17
18
  gem 'faraday'
19
+ gem 'faraday_middleware'
20
+ gem 'hashie'
data/Gemfile.lock CHANGED
@@ -7,7 +7,10 @@ GEM
7
7
  addressable (~> 2.2)
8
8
  multipart-post (~> 1.1)
9
9
  rack (~> 1.1)
10
+ faraday_middleware (0.8.4)
11
+ faraday (>= 0.7.4, < 0.9)
10
12
  git (1.2.5)
13
+ hashie (1.2.0)
11
14
  jeweler (1.8.3)
12
15
  bundler (~> 1.0)
13
16
  git (>= 1.2.5)
@@ -15,7 +18,7 @@ GEM
15
18
  rdoc
16
19
  json (1.6.5)
17
20
  multipart-post (1.1.5)
18
- nokogiri (1.5.0)
21
+ nokogiri (1.5.2)
19
22
  rack (1.4.1)
20
23
  rake (0.9.2.2)
21
24
  rdoc (3.12)
@@ -28,7 +31,11 @@ GEM
28
31
  rspec-expectations (2.8.0)
29
32
  diff-lcs (~> 1.1.2)
30
33
  rspec-mocks (2.8.0)
31
- shoulda (2.11.3)
34
+ shoulda (3.0.1)
35
+ shoulda-context (~> 1.0.0)
36
+ shoulda-matchers (~> 1.0.0)
37
+ shoulda-context (1.0.0)
38
+ shoulda-matchers (1.0.0)
32
39
 
33
40
  PLATFORMS
34
41
  ruby
@@ -36,7 +43,9 @@ PLATFORMS
36
43
  DEPENDENCIES
37
44
  bundler (~> 1.0.0)
38
45
  faraday
39
- jeweler (~> 1.8.3)
46
+ faraday_middleware
47
+ hashie
48
+ jeweler
40
49
  nokogiri (~> 1.5.0)
41
50
  rdoc (~> 3.12)
42
51
  rspec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
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.3.0"
8
+ s.version = "0.3.1"
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-03-09"
12
+ s.date = "2012-04-18"
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.15"
42
+ s.rubygems_version = "1.8.22"
43
43
  s.summary = "parses and returns an embeddable version of a page"
44
44
 
45
45
  if s.respond_to? :specification_version then
@@ -47,28 +47,37 @@ Gem::Specification.new do |s|
47
47
 
48
48
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
49
  s.add_runtime_dependency(%q<nokogiri>, ["~> 1.5.0"])
50
+ s.add_runtime_dependency(%q<hashie>, [">= 0"])
50
51
  s.add_runtime_dependency(%q<faraday>, [">= 0"])
52
+ s.add_runtime_dependency(%q<faraday_middleware>, [">= 0"])
53
+ s.add_runtime_dependency(%q<hashie>, [">= 0"])
51
54
  s.add_development_dependency(%q<shoulda>, [">= 0"])
52
55
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
53
56
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
54
- s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
57
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
55
58
  s.add_development_dependency(%q<rspec>, [">= 0"])
56
59
  else
57
60
  s.add_dependency(%q<nokogiri>, ["~> 1.5.0"])
61
+ s.add_dependency(%q<hashie>, [">= 0"])
58
62
  s.add_dependency(%q<faraday>, [">= 0"])
63
+ s.add_dependency(%q<faraday_middleware>, [">= 0"])
64
+ s.add_dependency(%q<hashie>, [">= 0"])
59
65
  s.add_dependency(%q<shoulda>, [">= 0"])
60
66
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
61
67
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
62
- s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
68
+ s.add_dependency(%q<jeweler>, [">= 0"])
63
69
  s.add_dependency(%q<rspec>, [">= 0"])
64
70
  end
65
71
  else
66
72
  s.add_dependency(%q<nokogiri>, ["~> 1.5.0"])
73
+ s.add_dependency(%q<hashie>, [">= 0"])
67
74
  s.add_dependency(%q<faraday>, [">= 0"])
75
+ s.add_dependency(%q<faraday_middleware>, [">= 0"])
76
+ s.add_dependency(%q<hashie>, [">= 0"])
68
77
  s.add_dependency(%q<shoulda>, [">= 0"])
69
78
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
70
79
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
71
- s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
80
+ s.add_dependency(%q<jeweler>, [">= 0"])
72
81
  s.add_dependency(%q<rspec>, [">= 0"])
73
82
  end
74
83
  end
@@ -1,7 +1,10 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gem 'sinatra'
4
- gem 'embedify', git: 'git://github.com/parasquid/embedify.git'
4
+ gem 'embedify', path: '../../'
5
5
  gem 'shotgun'
6
6
  gem 'thin'
7
7
  gem 'sinatra-jsonp', :require => 'sinatra/jsonp'
8
+ gem 'em-synchrony'
9
+ gem 'em-http-request'
10
+ gem 'sinatra-synchrony'
@@ -1,37 +1,35 @@
1
- GIT
2
- remote: git://github.com/parasquid/embedify.git
3
- revision: 419b8f4d84975bfcb69e7b3804ab8135e8a585e7
1
+ PATH
2
+ remote: ../../
4
3
  specs:
5
- embedify (0.2.0)
6
- httparty
7
- nokogiri
8
- opengraph
9
-
10
- GIT
11
- remote: git://github.com/parasquid/opengraph.git
12
- revision: dbcfc27a40be6b4681bfd55c31b767ecf685ff96
13
- specs:
14
- opengraph (0.0.4)
15
- hashie
16
- httparty
17
- httparty (~> 0.8.1)
18
- nokogiri
4
+ embedify (0.3.0)
5
+ faraday
19
6
  nokogiri (~> 1.5.0)
20
7
 
21
8
  GEM
22
9
  remote: http://rubygems.org/
23
10
  specs:
11
+ addressable (2.2.7)
12
+ async-rack (0.5.1)
13
+ rack (~> 1.1)
24
14
  daemons (1.1.8)
15
+ em-http-request (0.3.0)
16
+ addressable (>= 2.0.0)
17
+ escape_utils
18
+ eventmachine (>= 0.12.9)
19
+ em-resolv-replace (1.1.2)
20
+ em-synchrony (0.2.0)
21
+ eventmachine (>= 0.12.9)
22
+ escape_utils (0.2.4)
25
23
  eventmachine (0.12.10)
26
- hashie (1.2.0)
27
- httparty (0.8.1)
28
- multi_json
29
- multi_xml
24
+ faraday (0.7.6)
25
+ addressable (~> 2.2)
26
+ multipart-post (~> 1.1)
27
+ rack (~> 1.1)
30
28
  json_pure (1.6.5)
31
- multi_json (1.1.0)
32
- multi_xml (0.4.1)
33
- nokogiri (1.5.0)
29
+ multipart-post (1.1.5)
30
+ nokogiri (1.5.2)
34
31
  rack (1.4.1)
32
+ rack-fiber_pool (0.9.1)
35
33
  rack-protection (1.2.0)
36
34
  rack
37
35
  shotgun (0.9)
@@ -43,6 +41,13 @@ GEM
43
41
  sinatra-jsonp (0.3.2)
44
42
  json_pure (~> 1.4)
45
43
  sinatra (~> 1.0)
44
+ sinatra-synchrony (0.1.1)
45
+ async-rack
46
+ em-http-request (= 0.3.0)
47
+ em-resolv-replace
48
+ em-synchrony (= 0.2.0)
49
+ rack-fiber_pool (= 0.9.1)
50
+ sinatra (>= 1.0)
46
51
  thin (1.3.1)
47
52
  daemons (>= 1.0.9)
48
53
  eventmachine (>= 0.12.6)
@@ -53,9 +58,11 @@ PLATFORMS
53
58
  ruby
54
59
 
55
60
  DEPENDENCIES
61
+ em-http-request
62
+ em-synchrony
56
63
  embedify!
57
- opengraph!
58
64
  shotgun
59
65
  sinatra
60
66
  sinatra-jsonp
67
+ sinatra-synchrony
61
68
  thin
@@ -1,14 +1,20 @@
1
+ $LOAD_PATH << File.expand_path('../../lib')
2
+
1
3
  require 'sinatra/base'
4
+ require 'sinatra/synchrony'
2
5
  require "sinatra/jsonp"
3
6
  require 'json'
4
7
  require 'cgi'
5
-
6
- $LOAD_PATH << File.expand_path('../../lib')
7
-
8
+ require 'em-synchrony'
9
+ require 'em-synchrony/em-http'
8
10
  require 'embedify'
9
- require 'sinatra/jsonp'
11
+
12
+ Faraday.default_adapter = :em_synchrony
10
13
 
11
14
  class EmbedifyServer < Sinatra::Base
15
+
16
+ register Sinatra::Synchrony
17
+
12
18
  helpers Sinatra::Jsonp
13
19
  enable :sessions
14
20
  set :session_secret, "My session secret"
data/lib/embedify.rb CHANGED
@@ -1,68 +1,18 @@
1
- $:.unshift(File.expand_path(File.dirname(__FILE__))) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
2
-
3
1
  require 'nokogiri'
4
2
  require 'faraday'
5
3
  require 'hashie'
6
4
 
7
5
  module Embedify
8
6
 
9
- TYPES = {
10
- 'activity' => %w(activity sport),
11
- 'business' => %w(bar company cafe hotel restaurant),
12
- 'group' => %w(cause sports_league sports_team),
13
- 'organization' => %w(band government non_profit school university),
14
- 'person' => %w(actor athlete author director musician politician public_figure),
15
- 'place' => %w(city country landmark state_province),
16
- 'product' => %w(album book drink food game movie product song tv_show),
17
- 'website' => %w(blog website)
18
- }
19
-
20
- # The OpenGraph::Object is a Hash with method accessors for
21
- # all detected Open Graph attributes.
22
- class Object < Hashie::Mash
23
- MANDATORY_ATTRIBUTES = %w(title type image url)
24
-
25
- # The object type.
26
- def type
27
- self['type']
28
- end
29
-
30
- # The schema under which this particular object lies. May be any of
31
- # the keys of the TYPES constant.
32
- def schema
33
- Embedify::TYPES.each_pair do |schema, types|
34
- return schema if types.include?(self.type)
35
- end
36
- nil
37
- end
38
-
39
- Embedify::TYPES.values.flatten.each do |type|
40
- define_method "#{type}?" do
41
- self.type == type
42
- end
43
- end
44
-
45
- Embedify::TYPES.keys.each do |scheme|
46
- define_method "#{scheme}?" do
47
- self.type == scheme || OpenGraph::TYPES[scheme].include?(self.type)
48
- end
49
- end
50
-
51
- # If the Open Graph information for this object doesn't contain
52
- # the mandatory attributes, this will be <tt>false</tt>.
53
- def valid?
54
- MANDATORY_ATTRIBUTES.each{|a| return false unless (self[a] && !self[a].empty?)}
55
- true
56
- end
57
- end
58
-
7
+ # Fetch Open Graph data from the specified URI. Makes an
8
+ # HTTP GET request and returns an OpenGraph::Object
59
9
  def self.fetch(uri, options = {})
60
10
  opengraph = begin
61
- html = Faraday.get(uri)
62
- page = parse(html.body, false)
63
- page['url'] = html.request.last_uri.to_s unless page.include? 'url'
11
+ html = get_with_redirects(uri)
12
+ page = parse(html.body)
13
+ page['url'] = html.env[:url].to_s unless page.include? 'url'
64
14
  page
65
- rescue SocketError => e
15
+ rescue Exception => e
66
16
  raise e
67
17
  end
68
18
 
@@ -85,7 +35,19 @@ module Embedify
85
35
 
86
36
  private
87
37
 
88
- def self.parse(html, strict = true)
38
+ def self.get_with_redirects(uri, iterations = 0)
39
+ html = Faraday.get(uri)
40
+ #raise html.env[:response_headers]['Location']
41
+ puts "#{iterations.inspect} #{html.env[:response_headers]['Location']}"
42
+ case html.status
43
+ when 301..307
44
+ html = get_with_redirects(html.env[:response_headers]['Location'], iterations + 1)
45
+ else
46
+ html
47
+ end
48
+ end
49
+
50
+ def self.parse(html)
89
51
  doc = Nokogiri::HTML.parse(html)
90
52
  page = Embedify::Object.new
91
53
  doc.css('meta').each do |m|
@@ -98,7 +60,14 @@ module Embedify
98
60
  end
99
61
 
100
62
  def self.title(document)
101
- document['title'] ||= document[:nokogiri_parsed_document].css('title').first.inner_text
63
+ unless document['title']
64
+ title_tags = document[:nokogiri_parsed_document].css('title')
65
+ if title_tags.count > 0
66
+ document['title'] = title_tags.first.inner_text
67
+ else
68
+ document.delete 'title'
69
+ end
70
+ end
102
71
  end
103
72
 
104
73
  def self.type(document)
@@ -120,25 +89,64 @@ module Embedify
120
89
  end
121
90
  end
122
91
 
123
- # TODO: make the description be the first few words of the first <p></p>
124
- document['description'] = ''
92
+ p_tags = document[:nokogiri_parsed_document].css('p')
93
+ if p_tags.count > 0
94
+ document['description'] = p_tags.first.inner_text.to_s
95
+ else
96
+ document.delete 'description'
97
+ end
125
98
  end
126
99
 
127
- end
128
100
 
129
101
 
102
+ TYPES = {
103
+ 'activity' => %w(activity sport),
104
+ 'business' => %w(bar company cafe hotel restaurant),
105
+ 'group' => %w(cause sports_league sports_team),
106
+ 'organization' => %w(band government non_profit school university),
107
+ 'person' => %w(actor athlete author director musician politician public_figure),
108
+ 'place' => %w(city country landmark state_province),
109
+ 'product' => %w(album book drink food game movie product song tv_show),
110
+ 'website' => %w(blog website)
111
+ }
130
112
 
113
+ # The OpenGraph::Object is a Hash with method accessors for
114
+ # all detected Open Graph attributes.
115
+ class Object < Hashie::Mash
116
+ MANDATORY_ATTRIBUTES = %w(title type image url)
131
117
 
132
- require 'nokogiri'
133
- require 'faraday'
118
+ # The object type.
119
+ def type
120
+ self['type']
121
+ end
134
122
 
135
- module OpenGraph
136
- # Fetch Open Graph data from the specified URI. Makes an
137
- # HTTP GET request and returns an OpenGraph::Object if there
138
- # is data to be found or <tt>false</tt> if there isn't.
139
- #
140
- # Pass <tt>false</tt> for the second argument if you want to
141
- # see invalid (i.e. missing a required attribute) data.
123
+ # The schema under which this particular object lies. May be any of
124
+ # the keys of the TYPES constant.
125
+ def schema
126
+ Embedify::TYPES.each_pair do |schema, types|
127
+ return schema if types.include?(self.type)
128
+ end
129
+ nil
130
+ end
131
+
132
+ Embedify::TYPES.values.flatten.each do |type|
133
+ define_method "#{type}?" do
134
+ self.type == type
135
+ end
136
+ end
142
137
 
138
+ Embedify::TYPES.keys.each do |scheme|
139
+ define_method "#{scheme}?" do
140
+ self.type == scheme || Embedify::TYPES[scheme].include?(self.type)
141
+ end
142
+ end
143
+
144
+ # If the Open Graph information for this object doesn't contain
145
+ # the mandatory attributes, this will be <tt>false</tt>.
146
+ def valid?
147
+ MANDATORY_ATTRIBUTES.each{|a| return false unless (self[a] && !self[a].empty?)}
148
+ true
149
+ end
150
+ end
143
151
 
144
152
  end
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.3.0
4
+ version: 0.3.1
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-03-09 00:00:00.000000000 Z
12
+ date: 2012-04-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &71264200 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,31 @@ dependencies:
21
21
  version: 1.5.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *71264200
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 1.5.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: hashie
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
25
46
  - !ruby/object:Gem::Dependency
26
47
  name: faraday
27
- requirement: &71262990 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
28
49
  none: false
29
50
  requirements:
30
51
  - - ! '>='
@@ -32,10 +53,47 @@ dependencies:
32
53
  version: '0'
33
54
  type: :runtime
34
55
  prerelease: false
35
- version_requirements: *71262990
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: faraday_middleware
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: hashie
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
36
94
  - !ruby/object:Gem::Dependency
37
95
  name: shoulda
38
- requirement: &71259700 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
39
97
  none: false
40
98
  requirements:
41
99
  - - ! '>='
@@ -43,10 +101,15 @@ dependencies:
43
101
  version: '0'
44
102
  type: :development
45
103
  prerelease: false
46
- version_requirements: *71259700
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
47
110
  - !ruby/object:Gem::Dependency
48
111
  name: rdoc
49
- requirement: &71258770 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
50
113
  none: false
51
114
  requirements:
52
115
  - - ~>
@@ -54,10 +117,15 @@ dependencies:
54
117
  version: '3.12'
55
118
  type: :development
56
119
  prerelease: false
57
- version_requirements: *71258770
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '3.12'
58
126
  - !ruby/object:Gem::Dependency
59
127
  name: bundler
60
- requirement: &71257430 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
61
129
  none: false
62
130
  requirements:
63
131
  - - ~>
@@ -65,21 +133,31 @@ dependencies:
65
133
  version: 1.0.0
66
134
  type: :development
67
135
  prerelease: false
68
- version_requirements: *71257430
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 1.0.0
69
142
  - !ruby/object:Gem::Dependency
70
143
  name: jeweler
71
- requirement: &71295870 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
72
145
  none: false
73
146
  requirements:
74
- - - ~>
147
+ - - ! '>='
75
148
  - !ruby/object:Gem::Version
76
- version: 1.8.3
149
+ version: '0'
77
150
  type: :development
78
151
  prerelease: false
79
- version_requirements: *71295870
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
80
158
  - !ruby/object:Gem::Dependency
81
159
  name: rspec
82
- requirement: &71293630 !ruby/object:Gem::Requirement
160
+ requirement: !ruby/object:Gem::Requirement
83
161
  none: false
84
162
  requirements:
85
163
  - - ! '>='
@@ -87,7 +165,12 @@ dependencies:
87
165
  version: '0'
88
166
  type: :development
89
167
  prerelease: false
90
- version_requirements: *71293630
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
91
174
  description: ! "Embedify is a ruby gem that parses and returns an\n embeddable
92
175
  version of a page, similar to how Facebook fetches and retrieves\n page data
93
176
  when posting a link."
@@ -131,7 +214,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
131
214
  version: '0'
132
215
  segments:
133
216
  - 0
134
- hash: -523818223
217
+ hash: -400433983158747791
135
218
  required_rubygems_version: !ruby/object:Gem::Requirement
136
219
  none: false
137
220
  requirements:
@@ -140,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
223
  version: '0'
141
224
  requirements: []
142
225
  rubyforge_project:
143
- rubygems_version: 1.8.15
226
+ rubygems_version: 1.8.22
144
227
  signing_key:
145
228
  specification_version: 3
146
229
  summary: parses and returns an embeddable version of a page