Project

jsondocr

0.0
No commit activity in last 3 years
No release in over 3 years
DSL for documenting JSON-like schema
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 0
 Project Readme

jsondocr

DSL for documenting JSON schema.

Gem Version Code Climate

Element types

  • doc
  • object (document)
  • property (field)
  • array

Usage

schema = JSONdocr::Builders::Doc.new

schema.doc do
  name "Example"
  desc "general desc"

  object :sample do
    term "Sample object (document)"
    desc "document is an alias for object"

    field :id do
      term "Unique identifier"
      type :int
    end

    field :type do
      term "Samle type"
      type :string
      validates inclusion: { in: %w{real fake other}, message: "Wrong type" }
    end

    array :list_of_documents do
      term "List of documents"
      item object do
        field :content do
          term "Document content"
          type :string
        end
      end
    end

    object :author do
      term "Object author"

      field :first_name do
        term "Author first name"
        type :string
      end

      field :last_name do
        term "Author last name"
        type :string
      end
    end
  end
end

Example

Football schema (golazon) for mongodb

https://github.com/sobstel/golazon.universo/tree/master/developer.golazon.slate/lib