Class: Shin::Play::Viki
- Inherits:
-
Object
- Object
- Shin::Play::Viki
- Defined in:
- lib/shin/play/viki.rb
Defined Under Namespace
Classes: HTTPError, MissingArgument, NotValid
Instance Method Summary collapse
-
#all(category, params = {}) ⇒ Object
All <category>, params can be page=num, per_page=num etc.
-
#before(params = {}) ⇒ Object
Fix these before running.
-
#episodes(params = {}) ⇒ Object
Episodes.
-
#info(params = {}) ⇒ Object
Info (can be series id, movie id, video etc).
- #new ⇒ Object
-
#search(params = {}) ⇒ Object
Search (params can be everything on the docs).
Instance Method Details
#all(category, params = {}) ⇒ Object
All <category>, params can be page=num, per_page=num etc.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# 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 = {}) ⇒ Object
Fix these before running
15 16 17 18 19 20 21 22 |
# 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 = {}) ⇒ Object
Episodes
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# 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 = {}) ⇒ Object
Info (can be series id, movie id, video etc)
67 68 69 70 71 72 73 74 75 76 |
# 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 ⇒ Object
10 11 12 |
# File 'lib/shin/play/viki.rb', line 10 def new self end |
#search(params = {}) ⇒ Object
Search (params can be everything on the docs)
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/shin/play/viki.rb', line 47 def search(params={}) query = before(params) # Response response = Base.get('http://api.viki.io/v5/search.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 |