media_meta_hash 0.0.6c → 0.0.6

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: 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