embedrb 0.2.3 → 0.3.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.
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