Module: WikiAvro::Avro

Defined in:
lib/wikiavro/avro.rb

Defined Under Namespace

Classes: AvroWriter, LqtWriter, NamespaceWriter, PageWriter, RevisionWriter

Constant Summary collapse

NAMESPACE_SCHEMA =
<<-EOS
{
  "namespace": "org.rationalwiki",
  "name": "Namespace",
  "type": "record",
  "fields": [
    {"name": "key", "type": "int"},
    {"name": "case", "type": "string"},
    {"name": "name", "type": "string"}
  ]
}
EOS
PAGE_SCHEMA =
<<-EOS
{
  "namespace": "org.rationalwiki",
  "name": "Page",
  "type": "record",
  "fields": [
    {"name": "id", "type": "long"},
    {"name": "ns", "type": "long"},
    {"name": "title", "type": "string"},
    {"name": "redirect", "type": ["null", "string"]},
    {"name": "sha1", "type": ["null", "string"]}
  ]
}
EOS
REVISION_SCHEMA =
<<-EOS
{
  "namespace": "org.rationalwiki",
  "name": "Revision",
  "type": "record",
  "fields": [
    {"name": "id", "type": "long"},
    {"name": "page_id", "type": "long"},
    {"name": "n", "type": "long"},
    {"name": "timestamp", "type": "string"},
    {"name": "contributor", "type": ["null", {
      "namespace": "org.rationalwiki",
      "name": "Contributor",
      "type": "record",
      "fields": [
	{"name": "id", "type": ["null", "long"]},
	{"name": "username", "type": ["null", "string"]},
	{"name": "ip", "type": ["null", "string"]}
      ]
    }]},
    {"name": "minor", "type": "boolean"},
    {"name": "comment", "type": ["null", {
      "namespace": "org.rationalwiki",
      "name": "Comment",
      "type": "record",
      "fields": [
	{"name": "comment", "type": ["null", "string"]}
      ]
    }]},
    {"name": "bytes", "type": "long"},
    {"name": "textid", "type": ["null", "string"]},
    {"name": "text", "type": ["null", "string"]}
  ]
}
EOS
LQT_SCHEMA =
<<-EOS
{
  "namespace": "org.rationalwiki",
  "name": "Threading",
  "type": "record",
  "fields": [
    {"name": "subject", "type": "string"},
    {"name": "parent", "type": ["null", "long"]},
    {"name": "ancestor", "type": ["null", "long"]},
    {"name": "page", "type": "string"},
    {"name": "id", "type": "long"},
    {"name": "summary_page", "type": ["null", "string"]},
    {"name": "author", "type": "string"},
    {"name": "edit_status", "type": "string"},
    {"name": "type", "type": "string"},
    {"name": "signature", "type": ["null", "string"]}
  ]
}
EOS