class PolyListEmbed
Public Class Methods
new(tagName, content, tokens)
click to toggle source
Calls superclass method
# File lib/jekyll-polylist.rb, line 9 def initialize(tagName, content, tokens) super @content = content @renderer = Jekyll::PolyEmbed.new() @apikey = Jekyll.configuration({})['google_poly']['API_key'] end
Public Instance Methods
get_assets(nextPageToken = "")
click to toggle source
# File lib/jekyll-polylist.rb, line 16 def get_assets(nextPageToken = "") unless nextPageToken.nil? pageToken = "&pageToken=#{ nextPageToken }" else pageToken = "" end url = "https://poly.googleapis.com/v1/assets?key=#{ @apikey }&keywords=#{ @keyword }&pageSize=100" + pageToken response = Faraday.new(url).get if response.status == 200 body = JSON.parse(response.body) body["assets"].each do |asset| @assets << asset end unless body["nextPageToken"].nil? get_assets(nextPageToken = body["nextPageToken"]) end end end
render(context)
click to toggle source
# File lib/jekyll-polylist.rb, line 35 def render(context) @keyword = "#{context[@content.strip]}" get_assets() output = "<div>\n" @assets.each do |asset| if asset["name"][/assets\/([^\?]*)/] poly_id = $1 iframe = @renderer.generate(context, poly_id) output += %Q{ <div class="poly-asset-container"> <h3 class="poly-asset-title">#{ asset["displayName"] }</h3> <div class="poly-asset-iframe"> #{ iframe } </div> </div> } end end end