shenie-embedded_url 0.0.2 → 0.0.4

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.
@@ -1,15 +1,40 @@
1
1
  = embedded_url
2
2
 
3
- SlideShare configuration
3
+ For ActiveRecord, you can specify attribute to be embedded like the following.
4
+
5
+ class Post < ActiveRecord::Base
6
+ with_embedded :link
7
+ end
8
+
9
+ Then you can get the embedded URL like
10
+
11
+ @post.embedded_link
12
+
13
+ If Embedded URL does not recognize the link then it will return the original value with 'http://' prefixed (if it is not already).
14
+
15
+ SlideShare configuration (apply at http://slideshare.net)
4
16
 
5
17
  EmbeddedURL::SlideShare.configure do |config|
6
18
  config.api_key = 'api'
7
19
  config.shared_secret = 'secret'
8
20
  end
9
21
 
10
- SlideShare usage example
11
- EmbeddedURL::SlideShare.new('http://www.slideshare.net/MackCollier/what-rockstars-can-teach-you-about-kicking-ass-with-social-media').to_embedded
22
+ Usage examples
23
+
24
+ include EmbeddedURL
25
+
26
+ Gist.new('http://gist.github.com/173149').to_embedded
27
+ Youtube.new('http://www.youtube.com/watch?v=bZvSD1O86M8').to_embedded
28
+ Vimeo.new('http://vimeo.com/2927154').to_embedded
29
+ SlideShare.new('http://www.slideshare.net/MackCollier/what-rockstars-can-teach-you-about-kicking-ass-with-social-media').to_embedded
30
+
31
+
32
+ == Future Plan
33
+
34
+ Support these
12
35
 
36
+ * http://ustream.tv
37
+ * http://screenr.com
13
38
 
14
39
  == Note on Patches/Pull Requests
15
40
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.4
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{embedded_url}
8
- s.version = "0.0.2"
8
+ s.version = "0.0.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andy Shen"]
@@ -5,3 +5,32 @@ require File.join(File.dirname(__FILE__), 'embedded_url/gist')
5
5
  require File.join(File.dirname(__FILE__), 'embedded_url/slideshare')
6
6
  require File.join(File.dirname(__FILE__), 'embedded_url/youtube')
7
7
  require File.join(File.dirname(__FILE__), 'embedded_url/vimeo')
8
+
9
+ module EmbeddedURL
10
+ def self.included(base)
11
+ base.extend(ClassMethods)
12
+ end
13
+
14
+ module ClassMethods
15
+
16
+ def with_embedded(field)
17
+
18
+ define_method("embedded_#{field}") do
19
+
20
+ link = send(field)
21
+
22
+ begin
23
+ Gist.new(link).to_embedded ||
24
+ Youtube.new(link).to_embedded ||
25
+ Vimeo.new(link).to_embedded ||
26
+ SlideShare.new(link).to_embedded ||
27
+ (link =~ /^http/ ? link : "http://#{link}")
28
+ rescue
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+ end
@@ -19,11 +19,17 @@ module EmbeddedURL
19
19
  @@shared_secret = secret
20
20
  end
21
21
 
22
- def self.embedded(url)
23
- now = Time.now.to_i.to_s
24
- hashed = Digest::SHA1.hexdigest("#{@@shared_secret}#{now}")
25
- result = get('/get_slideshow', :query => {:ts => now, :hash => hashed, :slideshow_url => url})
26
- result['Slideshow']['Embed']
22
+ def initialize(url)
23
+ @url = url
24
+ end
25
+
26
+ def to_embedded
27
+ if @url =~ /slideshare\.net/
28
+ now = Time.now.to_i.to_s
29
+ hashed = Digest::SHA1.hexdigest("#{@@shared_secret}#{now}")
30
+ result = SlideShare.get('/get_slideshow', :query => {:ts => now, :hash => hashed, :slideshow_url => @url})
31
+ result['Slideshow']['Embed']
32
+ end
27
33
  end
28
34
 
29
35
  end
@@ -1,31 +1,5 @@
1
1
  require "embedded_url"
2
2
 
3
- module EmbeddedUrl
4
- def self.included(base)
5
- base.extend(ClassMethods)
6
- end
7
-
8
- module ClassMethods
9
-
10
- def embedded_url(field)
11
-
12
- define_method("embedded_#{field}") do
13
-
14
- link = send(field)
15
-
16
- begin
17
- Gist.new(link).to_embedded || Youtube.new(link).to_embedded || Vimeo.new(link).to_embedded ||
18
- SlideShare.new(link).to_embedded ||
19
- rescue
20
- end
21
-
22
- end
23
-
24
- end
25
-
26
- end
27
- end
28
-
29
3
  ActiveRecord::Base.class_eval do
30
4
  include EmbeddedURL
31
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shenie-embedded_url
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Shen