embedify 0.3.0 → 0.3.1

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/.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