Class: Lumiere::Dailymotion

Inherits:
Provider show all
Includes:
EmbedCode
Defined in:
lib/provider/dailymotion/dailymotion.rb

Constant Summary collapse

USEABLE =
['www.dailymotion.com', 'dailymotion.com']

Constants inherited from Provider

Provider::PROVIDERS

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from EmbedCode

#embed_code

Methods inherited from Provider

#==, #accessible?, delegate, #embed_code, #playlist_id, #videos

Constructor Details

#initialize(url) ⇒ Dailymotion

Returns a new instance of Dailymotion.



13
14
15
# File 'lib/provider/dailymotion/dailymotion.rb', line 13

def initialize(url)
  @url = url
end

Instance Attribute Details

#urlObject

Returns the value of attribute url.



3
4
5
# File 'lib/provider/dailymotion/dailymotion.rb', line 3

def url
  @url
end

Class Method Details

.useable?(url) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
11
# File 'lib/provider/dailymotion/dailymotion.rb', line 8

def self.useable?(url)
  uri = URISchemeless.parse(url)
  USEABLE.include?(uri.host)
end

Instance Method Details

#api_urlObject



25
26
27
# File 'lib/provider/dailymotion/dailymotion.rb', line 25

def api_url
  "https://api.dailymotion.com/video/#{video_id}?fields=id,title,description,duration,created_time,url,thumbnail_720_url,thumbnail_240_url,thumbnail_60_url"
end

#default_attributesObject



33
34
35
36
37
38
39
40
# File 'lib/provider/dailymotion/dailymotion.rb', line 33

def default_attributes
  {
    iframe_attributes: {
      frameborder: 0,
      allowfullscreen: true
    }
  }
end

#descriptionObject



46
47
48
# File 'lib/provider/dailymotion/dailymotion.rb', line 46

def description
  fetch.description
end

#durationObject



50
51
52
# File 'lib/provider/dailymotion/dailymotion.rb', line 50

def duration
  fetch.duration
end

#embed_urlObject



29
30
31
# File 'lib/provider/dailymotion/dailymotion.rb', line 29

def embed_url
  "//www.dailymotion.com/embed/video/#{video_id}"
end

#providerObject



17
18
19
# File 'lib/provider/dailymotion/dailymotion.rb', line 17

def provider
  "Dailymotion"
end

#thumbnail_largeObject



66
67
68
# File 'lib/provider/dailymotion/dailymotion.rb', line 66

def thumbnail_large
  fetch.thumbnail_large
end

#thumbnail_mediumObject



62
63
64
# File 'lib/provider/dailymotion/dailymotion.rb', line 62

def thumbnail_medium
  fetch.thumbnail_medium
end

#thumbnail_smallObject



58
59
60
# File 'lib/provider/dailymotion/dailymotion.rb', line 58

def thumbnail_small
  fetch.thumbnail_small
end

#titleObject



42
43
44
# File 'lib/provider/dailymotion/dailymotion.rb', line 42

def title
  fetch.title
end

#unpack_intoObject



70
71
72
73
# File 'lib/provider/dailymotion/dailymotion.rb', line 70

def unpack_into
  struct = OpenStruct.new
  struct.extend(DailymotionVideoRepresenter)
end

#upload_dateObject



54
55
56
# File 'lib/provider/dailymotion/dailymotion.rb', line 54

def upload_date
  fetch.upload_date
end

#video_idObject



21
22
23
# File 'lib/provider/dailymotion/dailymotion.rb', line 21

def video_id
  @video_id ||= calculate_video_id
end