thornbed 0.0.2 → 0.1.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.
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
@@ -1 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
+ require 'rake'
3
+ require 'rspec/core/rake_task'
4
+
5
+ RSpec::Core::RakeTask.new(:spec)
6
+
7
+ task :default => :spec
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Thornbed
2
- VERSION = "0.0.2"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -1,6 +1,4 @@
1
1
  require "spec_helper"
2
- require "fakeweb"
3
- require "thornbed"
4
2
 
5
3
  describe "Imgur" do
6
4
  it "should have Imgur as a provider" do
@@ -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.2
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-21 00:00:00.000000000 Z
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