class JekyllIndico::GetIndico
This is a Jekyll Generator
Public Instance Methods
generate(site)
click to toggle source
Main entry point for Jekyll
# File lib/jekyll-indico/generator.rb, line 13 def generate(site) @site = site @cache_msg = @site.config.dig('indico', 'cache-command') meeting_ids = Meetings.meeting_ids(@site.config) meeting_ids.each do |name, number| collect_meeting(name.to_s, number) end end
Private Instance Methods
collect_meeting(name, number)
click to toggle source
# File lib/jekyll-indico/generator.rb, line 25 def collect_meeting(name, number) base_url = Meetings.base_url(@site.config) data_path = @site.config.dig('indico', 'data') || 'indico' @site.data[data_path] = {} unless @site.data.key? data_path # Do nothing if already downloaded return if @site.data[data_path].key? name msg = @cache_msg ? " - run `#{@cache_msg}` to cache" : '' puts "Accessing Indico meeting API for #{name}:#{number}#{msg}" iris_meeting = Meetings.new(base_url, number) @site.data[data_path][name] = iris_meeting.dict end