class Purdie::Services::Vimeo

Public Class Methods

headers() click to toggle source
# File lib/purdie/services/vimeo.rb, line 30
def self.headers
  {
    'Authorization' => "bearer #{ENV['VIMEO_BEARER_TOKEN']}",
    'Accept' => 'application/json'
  }
end
host() click to toggle source
# File lib/purdie/services/vimeo.rb, line 49
def self.host
  'https://api.vimeo.com'
end
matcher() click to toggle source
# File lib/purdie/services/vimeo.rb, line 45
def self.matcher
  'vimeo.com'
end
resolve(url) click to toggle source
# File lib/purdie/services/vimeo.rb, line 37
def self.resolve url
  return [url] unless url =~ /\/albums?\//

  target = "#{Vimeo.host}/albums/#{Purdie.get_id url}/videos/"
  set = JSON.parse (HTTParty.get target, headers: Vimeo.headers).body
  set['data'].map { |video| video['uri'].sub '/videos', 'https://vimeo.com' }
end

Public Instance Methods

distill(url) click to toggle source
# File lib/purdie/services/vimeo.rb, line 18
def distill url
  video = get url

  results = {}
  results['title'] = video['name']
  results['id'] = @id

  results.attach_license self, video['license']

  results
end
get(url) click to toggle source
# File lib/purdie/services/vimeo.rb, line 6
def get url
  @id = Purdie.get_id url
  target = "#{Vimeo.host}/videos/#{@id}"
  response = HTTParty.get target, headers: Vimeo.headers
  response = JSON.parse response.body
  if response['error'] == 'You must provide a valid authenticated access token.'
    raise CredentialsException.new self, 'missing and/or duff'
  else
    response
  end
end