embedrb 0.2.3 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/Gemfile.lock +4 -0
- data/embedrb.gemspec +6 -3
- data/lib/embedrb/embed.rb +3 -2
- data/lib/embedrb/embed_open_graph.rb +10 -15
- data/lib/embedrb/version.rb +1 -1
- data/lib/embedrb.rb +2 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6afc8f7b083bd1446840d0d60f1d713f6a5de885
|
4
|
+
data.tar.gz: 60ede3795c33339ae744ca65955da456c12917f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3bc25f852ee9d57ff6b50062dc5e32132a20a4e4b37116382b5638016c2ed09f5890998b10dda22b11bc04cd4407cff5ec26e8d67e5cb033b425849e30c994f3
|
7
|
+
data.tar.gz: 3d02666ac1e9835b2d25573ed2b7d54aed3af6c51f69e3be9a29e7145491a997c6993bfeac49264973194dd68a88d57dc67c28c6dfd1060baccbacf167bca9ba
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -49,6 +49,9 @@ GEM
|
|
49
49
|
multi_json (~> 1.3)
|
50
50
|
multi_xml (~> 0.5)
|
51
51
|
rack (>= 1.2, < 3)
|
52
|
+
opengraph_parser (0.2.3)
|
53
|
+
addressable
|
54
|
+
nokogiri
|
52
55
|
rack (1.6.4)
|
53
56
|
rake (10.5.0)
|
54
57
|
rdoc (3.12.2)
|
@@ -74,6 +77,7 @@ PLATFORMS
|
|
74
77
|
DEPENDENCIES
|
75
78
|
bundler (~> 1.0)
|
76
79
|
jeweler (~> 2.0.1)
|
80
|
+
opengraph_parser
|
77
81
|
rdoc (~> 3.12)
|
78
82
|
shoulda
|
79
83
|
simplecov
|
data/embedrb.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: embedrb 0.
|
5
|
+
# stub: embedrb 0.3.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "embedrb"
|
9
|
-
s.version = "0.
|
9
|
+
s.version = "0.3.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["liris"]
|
14
|
-
s.date = "2016-02-
|
14
|
+
s.date = "2016-02-25"
|
15
15
|
s.description = "a ruby port of Embed.js"
|
16
16
|
s.email = "liris.pp@gmail.com"
|
17
17
|
s.extra_rdoc_files = [
|
@@ -56,12 +56,14 @@ Gem::Specification.new do |s|
|
|
56
56
|
s.specification_version = 4
|
57
57
|
|
58
58
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
59
|
+
s.add_runtime_dependency(%q<opengraph_parser>, [">= 0"])
|
59
60
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
60
61
|
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
61
62
|
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
62
63
|
s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
|
63
64
|
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
64
65
|
else
|
66
|
+
s.add_dependency(%q<opengraph_parser>, [">= 0"])
|
65
67
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
66
68
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
67
69
|
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
@@ -69,6 +71,7 @@ Gem::Specification.new do |s|
|
|
69
71
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
70
72
|
end
|
71
73
|
else
|
74
|
+
s.add_dependency(%q<opengraph_parser>, [">= 0"])
|
72
75
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
73
76
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
74
77
|
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
data/lib/embedrb/embed.rb
CHANGED
@@ -22,7 +22,7 @@ PROCESSORS = {
|
|
22
22
|
:flickr => EmbedRb::Flickr,
|
23
23
|
:instagram => EmbedRb::Instagram,
|
24
24
|
:audio => EmbedRb::BasicAudio,
|
25
|
-
:
|
25
|
+
:openGraph => EmbedRb::OpenGraph_,
|
26
26
|
}
|
27
27
|
|
28
28
|
DEFAULT_OPTIONS = {
|
@@ -35,7 +35,8 @@ DEFAULT_OPTIONS = {
|
|
35
35
|
:rel => '',
|
36
36
|
},
|
37
37
|
|
38
|
-
:openGraphEndpoint => nil, # http://opengraph.io/api/1.0/site/${url_encoded_site_url}
|
38
|
+
# :openGraphEndpoint => nil, # http://opengraph.io/api/1.0/site/${url_encoded_site_url}
|
39
|
+
:openGraph => true,
|
39
40
|
:openGraphOptions => {
|
40
41
|
:apiKey => nil,
|
41
42
|
:excluded_regex => nil,
|
@@ -1,10 +1,9 @@
|
|
1
|
-
require '
|
2
|
-
require 'json'
|
1
|
+
require 'opengraph_parser'
|
3
2
|
require_relative 'base'
|
4
3
|
require_relative 'utils'
|
5
4
|
|
6
5
|
module EmbedRb
|
7
|
-
class
|
6
|
+
class OpenGraph_
|
8
7
|
include EmbedRb::Base
|
9
8
|
|
10
9
|
def initialize(input, output, options, embeds)
|
@@ -26,7 +25,6 @@ module EmbedRb
|
|
26
25
|
url = match[2]
|
27
26
|
short_url = shorten(url)
|
28
27
|
if !exclude?(url) && !@options[:served].include?(short_url) && EmbedRb.process_more?(@options, :openGraphEndpoint, @embeds)
|
29
|
-
p short_url
|
30
28
|
data = fetch(url)
|
31
29
|
if data
|
32
30
|
@options[:served] << short_url
|
@@ -43,29 +41,26 @@ module EmbedRb
|
|
43
41
|
|
44
42
|
private
|
45
43
|
def fetch(url)
|
46
|
-
endpoint = @options[:openGraphEndpoint]
|
47
|
-
api = endpoint + ERB::Util.url_encode(url)
|
48
44
|
begin
|
49
|
-
|
50
|
-
|
51
|
-
return data
|
52
|
-
end
|
53
|
-
rescue
|
45
|
+
OpenGraph.new(url)
|
46
|
+
rescue StandardError => e
|
54
47
|
# error handling
|
48
|
+
p e
|
49
|
+
return nil
|
55
50
|
end
|
56
51
|
end
|
57
52
|
|
58
53
|
def render(data)
|
59
54
|
return <<EOF
|
60
55
|
<div class="ejs-embed ejs-ogp">
|
61
|
-
<div class="ejs-ogp-thumb" style="background-image:url(#{data[
|
56
|
+
<div class="ejs-ogp-thumb" style="background-image:url(#{data.images ? data.images[0] : ''})" ></div>
|
62
57
|
<div class="ejs-ogp-details">
|
63
58
|
<div class="ejs-ogp-title">
|
64
|
-
<a href="#{data
|
65
|
-
#{data
|
59
|
+
<a href="#{data.url}" target="#{@options[:linkOptions][:target]}">
|
60
|
+
#{data.title}
|
66
61
|
</a>
|
67
62
|
</div>
|
68
|
-
<div class="ejs-ogb-details">#{data
|
63
|
+
<div class="ejs-ogb-details">#{data.description}</div>
|
69
64
|
</div>
|
70
65
|
</div>
|
71
66
|
EOF
|
data/lib/embedrb/version.rb
CHANGED
data/lib/embedrb.rb
CHANGED
@@ -19,6 +19,7 @@ if $0 == __FILE__
|
|
19
19
|
http://www.ustream.tv/embed/5832768?html5ui
|
20
20
|
|
21
21
|
http://www.example.com/a.mp3
|
22
|
+
http://www.salesone.co.jp/
|
22
23
|
|
23
24
|
---------------------
|
24
25
|
EOF
|
@@ -26,7 +27,7 @@ EOF
|
|
26
27
|
opts = {
|
27
28
|
:maxEmbed => 0,
|
28
29
|
:maxEmbedExcludes => [ :youtube ],
|
29
|
-
:
|
30
|
+
:openGraph => true,
|
30
31
|
:gmap => true,
|
31
32
|
:gmapOptions => {
|
32
33
|
:googleAuthKey => ENV['GOOGLE_AUTH_KEY'],
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embedrb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- liris
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: opengraph_parser
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: shoulda
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|