class Mumukit::Sync::Store::Github

This Store enables importing and exporting content from and to Github

Public Class Methods

defaults() click to toggle source
# File lib/mumukit/sync/store/github.rb, line 38
def self.defaults
  struct
end
new(bot, author_email = nil, web_hook_base_url = nil) click to toggle source
# File lib/mumukit/sync/store/github.rb, line 8
def initialize(bot, author_email = nil, web_hook_base_url = nil)
  @bot = bot
  @author_email = author_email || bot.email
  @web_hook_base_url = web_hook_base_url
end

Public Instance Methods

read_resource(sync_key) click to toggle source
# File lib/mumukit/sync/store/github.rb, line 18
def read_resource(sync_key)
  return unless sync_key.kind.like? :guide

  Mumukit::Sync::Store::Github::GuideImport.new(
    bot: @bot,
    repo: sync_key.id,
    web_hook_base_url: @web_hook_base_url).run!
end
sync_keys() click to toggle source
# File lib/mumukit/sync/store/github.rb, line 14
def sync_keys
  Mumukit::Sync::Store.non_discoverable!
end
write_resource!(sync_key, resource_h) click to toggle source
# File lib/mumukit/sync/store/github.rb, line 27
def write_resource!(sync_key, resource_h)
  return unless sync_key.kind.like? :guide

  Mumukit::Sync::Store::Github::GuideExport.new(
    slug: sync_key.id,
    document: resource_h,
    author_email: @author_email,
    web_hook_base_url: @web_hook_base_url,
    bot: @bot).run!
end