Sha256: 1c917189b98d8f5d767a1045f5d6cd7c917543590d53a46449ab3f51fe8c5418
Contents?: true
Size: 684 Bytes
Versions: 21
Compression:
Stored size: 684 Bytes
Contents
#TODO may use mumukit slug module WithSlug extend ActiveSupport::Concern included do validates_presence_of :slug validates_uniqueness_of :slug end def import! import_from_json! Mumukit::Platform.bibliotheca_bridge.send(self.class.name.underscore, slug) end def slug_parts org, repo = slug.split('/') {organization: org, repository: repo} end module ClassMethods def import!(slug) transaction do item = find_or_initialize_by(slug: slug) item.save(validate: false) item.import! end end def by_slug_parts!(args) find_by!(slug: "#{args[:organization]}/#{args[:repository]}") end end end
Version data entries
21 entries across 21 versions & 1 rubygems