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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c256a78cf26ed5babfab6d258e45a176c2470fda
4
- data.tar.gz: 37d8582854f41fa5451598f6461b6a7a863e6676
3
+ metadata.gz: 6afc8f7b083bd1446840d0d60f1d713f6a5de885
4
+ data.tar.gz: 60ede3795c33339ae744ca65955da456c12917f4
5
5
  SHA512:
6
- metadata.gz: 3a8996bb934f3bb5428068811f81fa7c41cb71da76b2d9058644352550ab3feccd559cdb08cf4cd809fc34935e43307944fd6ce2a2bd53cdbca414925382e1b3
7
- data.tar.gz: e2a672d70e7c211daef9c75893bb953cee93da41aec88158bbd4b0e9a829d01a99e182a052d2b8d8bf0dace303ae0da04dfb7fc03a29ef3698ee5c94c63f6320
6
+ metadata.gz: 3bc25f852ee9d57ff6b50062dc5e32132a20a4e4b37116382b5638016c2ed09f5890998b10dda22b11bc04cd4407cff5ec26e8d67e5cb033b425849e30c994f3
7
+ data.tar.gz: 3d02666ac1e9835b2d25573ed2b7d54aed3af6c51f69e3be9a29e7145491a997c6993bfeac49264973194dd68a88d57dc67c28c6dfd1060baccbacf167bca9ba
data/Gemfile CHANGED
@@ -3,6 +3,8 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
+ gem "opengraph_parser"
7
+
6
8
  # Add dependencies to develop your gem here.
7
9
  # Include everything needed to run rake, tests, features, etc.
8
10
  group :development do
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.2.3 ruby lib
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.2.3"
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-23"
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
- :openGraphEndpoint => EmbedRb::OpenGraph,
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 'erb'
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 OpenGraph
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
- data = JSON.parse EmbedRb.get_response(api)
50
- if data && !data["error"]
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["hybridGraph"]['image']})" ></div>
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['url']}" target="#{@options[:linkOptions][:target]}">
65
- #{data["hybridGraph"]['title']}
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["hybridGraph"]["description"]}</div>
63
+ <div class="ejs-ogb-details">#{data.description}</div>
69
64
  </div>
70
65
  </div>
71
66
  EOF
@@ -1,4 +1,4 @@
1
1
 
2
2
  module EmbedRb
3
- VERSION="0.2.3"
3
+ VERSION="0.3.0"
4
4
  end
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
- :openGraphEndpoint => 'http://opengraph.io/api/1.0/site/',
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.2.3
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-23 00:00:00.000000000 Z
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