thornbed 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +2 -0
- data/Rakefile +6 -0
- data/lib/thornbed/providers/memegenerator.rb +30 -0
- data/lib/thornbed/version.rb +1 -1
- data/spec/providers/imgur_spec.rb +0 -2
- data/spec/providers/memegenerator_spec.rb +27 -0
- data/thornbed.gemspec +1 -0
- metadata +27 -2
data/README.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
Thornbed provides a single interface to get embeddable content from many sites, even sites with no OEmbed support.
|
4
4
|
|
5
|
+
[![Build Status](https://travis-ci.org/eka/thornbed.png)](https://travis-ci.org/eka/thornbed)
|
6
|
+
|
5
7
|
## Installation
|
6
8
|
|
7
9
|
Add this line to your application's Gemfile:
|
data/Rakefile
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
require "uri"
|
2
|
+
require "thornbed"
|
3
|
+
|
4
|
+
module Thornbed::Providers
|
5
|
+
class Memegenerator < Thornbed::Providers::Provider
|
6
|
+
def initialize
|
7
|
+
@pattern = /^http(s)?:\/\/(cdn\.)?memegenerator\.net\/instance(s)?\/(\d+x\/)?\d+(\.jpg)?(\?[\w\W]*)?$/
|
8
|
+
@type = "photo"
|
9
|
+
@provider_url = "http://memegenerator.com"
|
10
|
+
end
|
11
|
+
|
12
|
+
def get(url)
|
13
|
+
raise Thornbed::NotValid, url if !self.valid?(url)
|
14
|
+
url = URI.parse(url)
|
15
|
+
ptype = "jpg"
|
16
|
+
pic_id = /(\d+x\/)?\d+(\.jpg)?(\?[\w\W]*)?$/.match(url.path)
|
17
|
+
{
|
18
|
+
url: "http://cdn.memegenerator.net/instances/400x/#{pic_id}.#{ptype}",
|
19
|
+
type: "#{@type}",
|
20
|
+
provider_name: self.provider_name,
|
21
|
+
provider_url: @provider_url,
|
22
|
+
thumbnail_url: "http://cdn.memegenerator.net/instances/100x/#{pic_id}.#{ptype}",
|
23
|
+
version: "1.0",
|
24
|
+
page: "http://memegenerator.net/instance/#{pic_id}",
|
25
|
+
width: nil,
|
26
|
+
height: nil
|
27
|
+
}
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/thornbed/version.rb
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "Memegenerator" do
|
4
|
+
it "should have Memegenerator as a provider" do
|
5
|
+
Thornbed::Providers.constants.should include(:Memegenerator)
|
6
|
+
end
|
7
|
+
|
8
|
+
it "should accept different Memegenerator urls" do
|
9
|
+
memegenerator = Thornbed::Providers::Memegenerator.new
|
10
|
+
memegenerator.valid?("http://memegenerator.net/instance/30688283").should be_true
|
11
|
+
memegenerator.valid?("http://cdn.memegenerator.net/instances/400x/30688283.jpg").should be_true
|
12
|
+
memegenerator.valid?("http://memegenerator.net/instance/30691419?browsingOrder=Popular&browsingTimeSpan=Today").should be_true
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should return OEmbed hash for Memegenerator urls" do
|
16
|
+
memegenerator = Thornbed::Providers::Memegenerator.new
|
17
|
+
res = memegenerator.get("http://memegenerator.net/instance/30688283")
|
18
|
+
res.should include(url: "http://cdn.memegenerator.net/instances/400x/30688283.jpg")
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should discover Memegenerator provider" do
|
22
|
+
res = Thornbed.get("http://memegenerator.net/instance/30688283")
|
23
|
+
res.should include(url: "http://cdn.memegenerator.net/instances/400x/30688283.jpg")
|
24
|
+
res.should include(thumbnail_url: "http://cdn.memegenerator.net/instances/100x/30688283.jpg")
|
25
|
+
res.should include(provider_name: "Memegenerator")
|
26
|
+
end
|
27
|
+
end
|
data/thornbed.gemspec
CHANGED
@@ -22,4 +22,5 @@ Gem::Specification.new do |gem|
|
|
22
22
|
gem.add_development_dependency "rb-fsevent", "~> 0.9.2"
|
23
23
|
gem.add_development_dependency "terminal-notifier-guard", "~> 1.5.3"
|
24
24
|
gem.add_development_dependency "fakeweb", "~> 1.3.0"
|
25
|
+
gem.add_development_dependency "rake", "~> 10.0.2"
|
25
26
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thornbed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ruby-oembed
|
@@ -107,6 +107,22 @@ dependencies:
|
|
107
107
|
- - ~>
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: 1.3.0
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rake
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 10.0.2
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 10.0.2
|
110
126
|
description: Thin OEmbed wrapper
|
111
127
|
email:
|
112
128
|
- esteban.feldman@gmail.com
|
@@ -126,9 +142,11 @@ files:
|
|
126
142
|
- lib/thornbed/provider.rb
|
127
143
|
- lib/thornbed/providers.rb
|
128
144
|
- lib/thornbed/providers/imgur.rb
|
145
|
+
- lib/thornbed/providers/memegenerator.rb
|
129
146
|
- lib/thornbed/providers/quickmeme.rb
|
130
147
|
- lib/thornbed/version.rb
|
131
148
|
- spec/providers/imgur_spec.rb
|
149
|
+
- spec/providers/memegenerator_spec.rb
|
132
150
|
- spec/providers/quickmeme_spec.rb
|
133
151
|
- spec/spec_helper.rb
|
134
152
|
- spec/thornbed_spec.rb
|
@@ -145,12 +163,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
145
163
|
- - ! '>='
|
146
164
|
- !ruby/object:Gem::Version
|
147
165
|
version: '0'
|
166
|
+
segments:
|
167
|
+
- 0
|
168
|
+
hash: -793414226059006888
|
148
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
170
|
none: false
|
150
171
|
requirements:
|
151
172
|
- - ! '>='
|
152
173
|
- !ruby/object:Gem::Version
|
153
174
|
version: '0'
|
175
|
+
segments:
|
176
|
+
- 0
|
177
|
+
hash: -793414226059006888
|
154
178
|
requirements: []
|
155
179
|
rubyforge_project:
|
156
180
|
rubygems_version: 1.8.24
|
@@ -160,6 +184,7 @@ summary: Thornbed provides a single interface to get embeddable content from man
|
|
160
184
|
sites, even sites with no OEmbed support.
|
161
185
|
test_files:
|
162
186
|
- spec/providers/imgur_spec.rb
|
187
|
+
- spec/providers/memegenerator_spec.rb
|
163
188
|
- spec/providers/quickmeme_spec.rb
|
164
189
|
- spec/spec_helper.rb
|
165
190
|
- spec/thornbed_spec.rb
|