class Shin::Play::Viki

Public Instance Methods

all(category, params={}) click to toggle source

All <category>, params can be page=num, per_page=num etc.

# File lib/shin/play/viki.rb, line 25
def all(category, params={})
  query = before(params)
  raise NotValid, "Not a valid category. Please check again." unless ["films", "series", "news", "artists"].include?(category)
  
  # Response
  response = Base.get('http://api.viki.io/v5/' + category + '.json' + query)

  data = Oj.load(response.body) rescue nil
  ret = {more: data['more'], response: []}
  
  # Multiple
  if data != nil
    data['response'].each do |r|
      ret[:response] << r
    end
  end
  
  
  ret.to_hashugar
end
before(params={}) click to toggle source

Fix these before running

# File lib/shin/play/viki.rb, line 15
def before(params={})
  raise MissingArgument, "You are missing the argument 'viki_app_id' which is required to use this source." unless Shin.get[:viki_app_id] != nil
  
  # Timestamp
  params[:t] = Time.now.to_i
  
  "?app=" + Shin.get[:viki_app_id] + "&" + URI.encode_www_form(params)
end
episodes(params={}) click to toggle source

Episodes

# File lib/shin/play/viki.rb, line 79
def episodes(params={})
  id = params[:id]
  query = before(params)
  
  # Response
  response = Base.get('http://api.viki.io/v5/containers/' + id.to_s + '/episodes.json' + query)
  data = Oj.load(response.body) rescue nil
  ret = {more: data['more'], response: []}
  
  # Multiple
  if !data.empty? and data != nil
    data['response'].each do |r|
      ret[:response] << r
    end
  end
  
  ret.to_hashugar
end
info(params={}) click to toggle source

Info (can be series id, movie id, video etc)

# File lib/shin/play/viki.rb, line 67
def info(params={})
  id = params[:id]
  query = before(params)
  
  # Response
  response = Base.get('http://api.viki.io/v5/containers/' + id.to_s + '.json' + query)
  data = Oj.load(response.body) rescue nil
  
  data.to_hashugar
end
new() click to toggle source
# File lib/shin/play/viki.rb, line 10
def new
  self
end