media_meta_hash 0.0.6c → 0.0.6

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: fe0dae082e46be12f8811fb6be148eb486876109
4
- data.tar.gz: 47a91214a1fe1b7e113bd7be3e50ebb3b9270663
3
+ metadata.gz: 22275185996106b3a7a0d86ba8b5bee98619e746
4
+ data.tar.gz: bc41969aedeca54a19729fd3188bcba57e026c3a
5
5
  SHA512:
6
- metadata.gz: e200556c3b69f63e7464fb8350cec2da58a5102dfd91fd562fd4b41570983fe68a471f96098768f148ec5e807c1df29891969a502dfd51a771777cb9dfa9f1ac
7
- data.tar.gz: 4bb81c02f66595e2584e6f2b0c5a14dc9c556daa27191a0cee0ce1e4edad2949f08e56d7b0ece9dd5ea22ea9d18282a782d8a82445d61f9d7ba143587aa39425
6
+ metadata.gz: 094c0e1a44b31abb587285a6df0c78a0423f43fa2bb3f82dac64a545c32d53f64519a71fb131d3324ec3d65132f3bd25607a6313af0d8643402a0a0ef3cbd0b2
7
+ data.tar.gz: d4418e0a5eb7610eceb9845aad73585a5ae611bbb355da6d9082100b639c448f5ec6fe64a6b9e41a036e62a849b61bc691965424ce72cfab77f2b29afaa09f81
@@ -2,23 +2,15 @@ require "media_meta_hash/version"
2
2
  require "video_info"
3
3
  require 'ostruct'
4
4
 
5
- class VideoInfo
6
- def to_hash
7
- hash = {}
8
- instance_variables.each {|var| hash[var.to_s.delete("@").to_sym] = instance_variable_get(var) }
9
- hash
10
- end
11
- end
12
-
13
5
  module MediaMetaHash
14
6
  HASH_TYPE = Hash.new(:article)
15
7
 
16
8
 
17
- def self.for(url, media_type = :video, opts = {})
9
+ def self.for url, media_type = :video, opts = {}
18
10
  self.media_meta_hash(media_type, url, opts)
19
11
  end
20
12
 
21
- def self.video_info(url)
13
+ def self.video_info url
22
14
  if url =~ /video\.fox(news|business)\.com\/v\/(\d*)\/.*/
23
15
  partial_domain = $1
24
16
  id = $2
@@ -56,15 +48,10 @@ module MediaMetaHash
56
48
  :height => (480 * 0.5625).to_i
57
49
  )
58
50
  else
59
- begin
60
- info = VideoInfo.get(url)
61
- rescue VideoInfo::UrlError => e
62
- info = nil
63
- end
51
+ info = VideoInfo.get(url)
64
52
 
65
53
  if url =~ /(youtube.com|youtu.be)/ && info
66
54
  class << info
67
- attr_accessor :width, :height
68
55
  def og_url=(val)
69
56
  @url = val
70
57
  end
@@ -73,7 +60,6 @@ module MediaMetaHash
73
60
  @url
74
61
  end
75
62
  end
76
-
77
63
  info.og_url = self.get_video_src info.video_id
78
64
  info.width = 480 if info.width == nil
79
65
  info.height = (480 * 0.5625).to_i if info.height == nil
@@ -82,21 +68,27 @@ module MediaMetaHash
82
68
  end
83
69
  end
84
70
 
85
- def self.video_hash(url, opts)
71
+ def self.video_hash url, opts
86
72
  video = self.video_info(url)
87
73
 
88
74
  if video
75
+ common = { :title => video.title,
76
+ :description => video.description,
77
+ :image => video.thumbnail_medium
78
+ }
79
+
89
80
  { :og => { :video => [video.og_url || video.embed_url,
90
81
  {:height => video.height,
91
82
  :width => video.width }],
92
- :type => "video" }.merge!(opts),
83
+ :type => "video"
84
+ }.merge!(common).merge!(opts),
93
85
 
94
86
  :twitter => { :player => [(video.embed_url || video.og_url).sub("http://", "https://"),
95
87
  { :width => video.width,
96
88
  :height => video.height
97
89
  }],
98
90
  :card => "player"
99
- }.merge!(self.twitter_mobile(video.provider.downcase.to_sym, video.video_id)).merge!(opts)
91
+ }.merge!(common).merge!(self.twitter_mobile(video.provider.downcase.to_sym, video.video_id)).merge!(opts)
100
92
  }
101
93
  else
102
94
  {}.merge!(opts)
@@ -118,7 +110,7 @@ module MediaMetaHash
118
110
  "http://www.youtube.com/v/#{id}?autohide=1&version=3"
119
111
  end
120
112
 
121
- def self.media_meta_hash(media_type, url, opts = {})
113
+ def self.media_meta_hash media_type, url, opts = {}
122
114
  if media_type == :video
123
115
  self.video_hash(url, opts)
124
116
  else
@@ -126,7 +118,7 @@ module MediaMetaHash
126
118
  end
127
119
  end
128
120
 
129
- def self.twitter_mobile(provider, id)
121
+ def self.twitter_mobile provider, id
130
122
  tags_for = Hash.new({})
131
123
  tags_for[:youtube] = {
132
124
  :app => { :name => { :iphone => "YouTube",
@@ -1,3 +1,3 @@
1
1
  module MediaMetaHash
2
- VERSION = "0.0.6c"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
13
13
  spec.homepage = "https://github.com/daltonrenaldo/meta_media_hash"
14
14
  spec.license = "MIT"
15
15
 
16
- spec.add_dependency('video_info', '2.4.2')
16
+ spec.add_dependency('video_info', '1.5.0')
17
17
 
18
18
  spec.files = `git ls-files`.split($/)
19
19
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -112,11 +112,11 @@ describe MediaMetaHash do
112
112
  end
113
113
 
114
114
  it "the :og key" do
115
- @info_hash[:og].should include(:type, :video)
115
+ @info_hash[:og].should include(:title, :description, :image, :type, :video)
116
116
  end
117
117
 
118
118
  it "the :twitter key" do
119
- @info_hash[:twitter].should include(:player, :card, :app)
119
+ @info_hash[:twitter].should include(:title, :description, :image, :player, :card, :app)
120
120
  end
121
121
 
122
122
  it "the :twitter => :player should be an array" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: media_meta_hash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6c
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Renaldo Pierre-Louis
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.4.2
19
+ version: 1.5.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 2.4.2
26
+ version: 1.5.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -115,9 +115,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
115
115
  version: '0'
116
116
  required_rubygems_version: !ruby/object:Gem::Requirement
117
117
  requirements:
118
- - - ">"
118
+ - - ">="
119
119
  - !ruby/object:Gem::Version
120
- version: 1.3.1
120
+ version: '0'
121
121
  requirements: []
122
122
  rubyforge_project:
123
123
  rubygems_version: 2.4.8