Class: Tubeclip::Model::Video
- Defined in:
- lib/tubeclip/model/video.rb
Defined Under Namespace
Classes: Format
Instance Attribute Summary collapse
-
#access_control ⇒ Object
readonly
Returns the value of attribute access_control.
-
#author ⇒ Object
readonly
Returns the value of attribute author.
-
#categories ⇒ Object
readonly
Returns the value of attribute categories.
-
#comment_count ⇒ Object
readonly
Returns the value of attribute comment_count.
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#duration ⇒ Object
readonly
Returns the value of attribute duration.
-
#favorite_count ⇒ Object
readonly
Returns the value of attribute favorite_count.
-
#html_content ⇒ Object
readonly
Returns the value of attribute html_content.
-
#insight_uri ⇒ Object
readonly
Returns the value of attribute insight_uri.
-
#keywords ⇒ Object
readonly
Returns the value of attribute keywords.
-
#latitude ⇒ Object
readonly
Returns the value of attribute latitude.
-
#longitude ⇒ Object
readonly
Returns the value of attribute longitude.
-
#media_content ⇒ Object
readonly
Returns the value of attribute media_content.
-
#noembed ⇒ Object
readonly
Returns the value of attribute noembed.
-
#perm_private ⇒ Object
readonly
Returns the value of attribute perm_private.
-
#player_url ⇒ Object
readonly
Returns the value of attribute player_url.
-
#position ⇒ Object
readonly
Returns the value of attribute position.
-
#published_at ⇒ Object
readonly
Returns the value of attribute published_at.
-
#rating ⇒ Object
readonly
Returns the value of attribute rating.
-
#raw_content ⇒ Object
readonly
Returns the value of attribute raw_content.
-
#recorded_at ⇒ Object
readonly
Returns the value of attribute recorded_at.
-
#safe_search ⇒ Object
readonly
Returns the value of attribute safe_search.
-
#state ⇒ Object
readonly
Returns the value of attribute state.
-
#thumbnails ⇒ Object
readonly
Returns the value of attribute thumbnails.
-
#title ⇒ Object
readonly
Returns the value of attribute title.
-
#updated_at ⇒ Object
readonly
Returns the value of attribute updated_at.
-
#uploaded_at ⇒ Object
readonly
Returns the value of attribute uploaded_at.
-
#video_id ⇒ Object
readonly
Returns the value of attribute video_id.
-
#video_position ⇒ Object
readonly
Returns the value of attribute video_position.
-
#view_count ⇒ Object
readonly
Returns the value of attribute view_count.
-
#widescreen ⇒ Object
readonly
Returns the value of attribute widescreen.
Instance Method Summary collapse
- #default_media_content ⇒ Object
- #embed_html(width = 425, height = 350) ⇒ Object
- #embed_html5(params = {}) ⇒ Object
-
#embed_html_with_width(width = 1280) ⇒ Object
Gives you the HTML to embed the video on your website.
-
#embed_url ⇒ Object
The URL needed for embedding the video in a page.
- #embeddable? ⇒ Boolean
- #in_playlist_id ⇒ Object
- #listed? ⇒ Boolean
- #related ⇒ Object
- #responses ⇒ Object
- #unique_id ⇒ Object
- #watch_later_id ⇒ Object
- #widescreen? ⇒ Boolean
Methods inherited from Record
Constructor Details
This class inherits a constructor from Tubeclip::Record
Instance Attribute Details
#access_control ⇒ Object (readonly)
Returns the value of attribute access_control.
115 116 117 |
# File 'lib/tubeclip/model/video.rb', line 115 def access_control @access_control end |
#author ⇒ Object (readonly)
Returns the value of attribute author.
109 110 111 |
# File 'lib/tubeclip/model/video.rb', line 109 def @author end |
#categories ⇒ Object (readonly)
Returns the value of attribute categories.
91 92 93 |
# File 'lib/tubeclip/model/video.rb', line 91 def categories @categories end |
#comment_count ⇒ Object (readonly)
Returns the value of attribute comment_count.
133 134 135 |
# File 'lib/tubeclip/model/video.rb', line 133 def comment_count @comment_count end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
97 98 99 |
# File 'lib/tubeclip/model/video.rb', line 97 def description @description end |
#duration ⇒ Object (readonly)
Returns the value of attribute duration.
61 62 63 |
# File 'lib/tubeclip/model/video.rb', line 61 def duration @duration end |
#favorite_count ⇒ Object (readonly)
Returns the value of attribute favorite_count.
130 131 132 |
# File 'lib/tubeclip/model/video.rb', line 130 def favorite_count @favorite_count end |
#html_content ⇒ Object (readonly)
Returns the value of attribute html_content.
103 104 105 |
# File 'lib/tubeclip/model/video.rb', line 103 def html_content @html_content end |
#insight_uri ⇒ Object (readonly)
Returns the value of attribute insight_uri.
139 140 141 |
# File 'lib/tubeclip/model/video.rb', line 139 def insight_uri @insight_uri end |
#keywords ⇒ Object (readonly)
Returns the value of attribute keywords.
94 95 96 |
# File 'lib/tubeclip/model/video.rb', line 94 def keywords @keywords end |
#latitude ⇒ Object (readonly)
Returns the value of attribute latitude.
146 147 148 |
# File 'lib/tubeclip/model/video.rb', line 146 def latitude @latitude end |
#longitude ⇒ Object (readonly)
Returns the value of attribute longitude.
147 148 149 |
# File 'lib/tubeclip/model/video.rb', line 147 def longitude @longitude end |
#media_content ⇒ Object (readonly)
Returns the value of attribute media_content.
112 113 114 |
# File 'lib/tubeclip/model/video.rb', line 112 def media_content @media_content end |
#noembed ⇒ Object (readonly)
Returns the value of attribute noembed.
67 68 69 |
# File 'lib/tubeclip/model/video.rb', line 67 def @noembed end |
#perm_private ⇒ Object (readonly)
Returns the value of attribute perm_private.
142 143 144 |
# File 'lib/tubeclip/model/video.rb', line 142 def perm_private @perm_private end |
#player_url ⇒ Object (readonly)
Returns the value of attribute player_url.
121 122 123 |
# File 'lib/tubeclip/model/video.rb', line 121 def player_url @player_url end |
#position ⇒ Object (readonly)
Returns the value of attribute position.
70 71 72 |
# File 'lib/tubeclip/model/video.rb', line 70 def position @position end |
#published_at ⇒ Object (readonly)
Returns the value of attribute published_at.
79 80 81 |
# File 'lib/tubeclip/model/video.rb', line 79 def published_at @published_at end |
#rating ⇒ Object (readonly)
Returns the value of attribute rating.
124 125 126 |
# File 'lib/tubeclip/model/video.rb', line 124 def @rating end |
#raw_content ⇒ Object (readonly)
Returns the value of attribute raw_content.
106 107 108 |
# File 'lib/tubeclip/model/video.rb', line 106 def raw_content @raw_content end |
#recorded_at ⇒ Object (readonly)
Returns the value of attribute recorded_at.
88 89 90 |
# File 'lib/tubeclip/model/video.rb', line 88 def recorded_at @recorded_at end |
#safe_search ⇒ Object (readonly)
Returns the value of attribute safe_search.
73 74 75 |
# File 'lib/tubeclip/model/video.rb', line 73 def safe_search @safe_search end |
#state ⇒ Object (readonly)
Returns the value of attribute state.
136 137 138 |
# File 'lib/tubeclip/model/video.rb', line 136 def state @state end |
#thumbnails ⇒ Object (readonly)
Returns the value of attribute thumbnails.
118 119 120 |
# File 'lib/tubeclip/model/video.rb', line 118 def thumbnails @thumbnails end |
#title ⇒ Object (readonly)
Returns the value of attribute title.
100 101 102 |
# File 'lib/tubeclip/model/video.rb', line 100 def title @title end |
#updated_at ⇒ Object (readonly)
Returns the value of attribute updated_at.
82 83 84 |
# File 'lib/tubeclip/model/video.rb', line 82 def updated_at @updated_at end |
#uploaded_at ⇒ Object (readonly)
Returns the value of attribute uploaded_at.
85 86 87 |
# File 'lib/tubeclip/model/video.rb', line 85 def uploaded_at @uploaded_at end |
#video_id ⇒ Object (readonly)
Returns the value of attribute video_id.
76 77 78 |
# File 'lib/tubeclip/model/video.rb', line 76 def video_id @video_id end |
#video_position ⇒ Object (readonly)
Returns the value of attribute video_position.
150 151 152 |
# File 'lib/tubeclip/model/video.rb', line 150 def video_position @video_position end |
#view_count ⇒ Object (readonly)
Returns the value of attribute view_count.
127 128 129 |
# File 'lib/tubeclip/model/video.rb', line 127 def view_count @view_count end |
#widescreen ⇒ Object (readonly)
Returns the value of attribute widescreen.
64 65 66 |
# File 'lib/tubeclip/model/video.rb', line 64 def widescreen @widescreen end |
Instance Method Details
#default_media_content ⇒ Object
233 234 235 |
# File 'lib/tubeclip/model/video.rb', line 233 def default_media_content @media_content.find { |c| c.is_default? } end |
#embed_html(width = 425, height = 350) ⇒ Object
241 242 243 244 245 246 247 248 249 250 |
# File 'lib/tubeclip/model/video.rb', line 241 def (width = 425, height = 350) <<EDOC <object width="#{width}" height="#{height}"> <param name="movie" value="#{}"></param> <param name="wmode" value="transparent"></param> <embed src="#{}" type="application/x-shockwave-flash" wmode="transparent" width="#{width}" height="#{height}"></embed> </object> EDOC end |
#embed_html5(params = {}) ⇒ Object
256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 |
# File 'lib/tubeclip/model/video.rb', line 256 def (params = {}) opts = {:class => params[:class] || "", :id => params[:id] || "", :width => params[:width] || "425", :height => params[:height] || "350", :protocol => params[:protocol] || "http", :frameborder => params[:frameborder] || "0", :url_params => params[:url_params] || {}, :sandbox => params[:sandbox] || false, :fullscreen => params[:fullscreen] || false, } url_opts = opts[:url_params].empty? ? "" : "?#{Rack::Utils::build_query(opts[:url_params])}" <<EDOC <iframe class="#{opts[:class]}" id="#{opts[:id]}" type="text/html" width="#{opts[:width]}" height="#{opts[:height]}" src="#{opts[:protocol]}://www.youtube.com/embed/#{unique_id}#{url_opts}" frameborder="#{opts[:frameborder]}" #{" sandbox=\"#{opts[:sandbox]}\" " if opts[:sandbox]} #{"allowfullscreen" if opts[:fullscreen]}></iframe> EDOC end |
#embed_html_with_width(width = 1280) ⇒ Object
Gives you the HTML to embed the video on your website.
Returns
String: The HTML for embedding the video on your website.
277 278 279 280 281 282 283 284 285 286 287 288 |
# File 'lib/tubeclip/model/video.rb', line 277 def (width = 1280) height = (widescreen? ? width * 9/16 : width * 3/4) + 25 <<EDOC <object width="#{width}" height="#{height}"> <param name="movie" value="#{}"></param> <param name="wmode" value="transparent"></param> <embed src="#{}" type="application/x-shockwave-flash" wmode="transparent" width="#{width}" height="#{height}"></embed> </object> EDOC end |
#embed_url ⇒ Object
The URL needed for embedding the video in a page.
Returns
String: Absolute URL for embedding video
294 295 296 |
# File 'lib/tubeclip/model/video.rb', line 294 def @player_url.sub('watch?', '').sub('=', '/').sub('feature/', 'feature=') end |
#embeddable? ⇒ Boolean
209 210 211 |
# File 'lib/tubeclip/model/video.rb', line 209 def not @noembed end |
#in_playlist_id ⇒ Object
178 179 180 |
# File 'lib/tubeclip/model/video.rb', line 178 def in_playlist_id @video_id.split(':').last end |
#listed? ⇒ Boolean
217 218 219 |
# File 'lib/tubeclip/model/video.rb', line 217 def listed? access_control['list'] == 'allowed' end |
#related ⇒ Object
156 157 158 |
# File 'lib/tubeclip/model/video.rb', line 156 def Tubeclip::Parser::VideosFeedParser.new("http://gdata.youtube.com/feeds/api/videos/#{unique_id}/related?v=#{Tubeclip::API_VERSION}").parse end |
#responses ⇒ Object
163 164 165 |
# File 'lib/tubeclip/model/video.rb', line 163 def responses Tubeclip::Parser::VideosFeedParser.new("http://gdata.youtube.com/feeds/api/videos/#{unique_id}/responses?v=#{Tubeclip::API_VERSION}").parse end |
#unique_id ⇒ Object
191 192 193 |
# File 'lib/tubeclip/model/video.rb', line 191 def unique_id @unique_id || video_id[/videos\/([^<]+)/, 1] || video_id[/video\:([^<]+)/, 1] end |
#watch_later_id ⇒ Object
201 202 203 |
# File 'lib/tubeclip/model/video.rb', line 201 def watch_later_id video_id[/watch_later\:([^:]+)/, 1] end |
#widescreen? ⇒ Boolean
225 226 227 |
# File 'lib/tubeclip/model/video.rb', line 225 def widescreen? @widescreen end |